Quickly 응용 프로그램에 데몬을 어떻게 추가합니까?


10

나는로 앱을 빠르게 빌드하고 있으며 백그라운드에서 실행될 데몬을 추가하고 싶었습니다. 어떻게합니까?


D-Bus를 살펴 봐야합니다.
ADcomp

빠른 홈페이지로 연결되는 링크를 제공하십시오. 그런 이름으로 구글을 할 수 없습니다.
dotancohen

이 데몬은 무엇을해야합니까? 공개해야합니까, 아니면 응용 프로그램 용으로 만 필요합니까?
Timo

@dotancohen 완료. 가져 오기 비트는 파이썬으로되어 있다고 제안합니다.
8128

@Timo Vigesh를 위해 말할 수는 없지만 현상금을 위해 내 응용 프로그램을 위해 무언가를 찾고 있습니다.
8128

답변:


1

지금까지 데몬 실행을 방지하거나 도울 수있는 구체적인 내용은 없지만 파이썬으로 할 수있는 적어도 두 가지 옵션이 있습니다.

옵션 # 1 : Distutils

참고 : 나는 이것을 아직 시도하지 않았습니다 :)

  1. 다음과 같이 데몬 스크립트를 bin신속 프로젝트 의 디렉토리에 넣으십시오.bin/yourapp-launcher

  2. data/yourapp-launcher.desktop파일에 다음을 추가 하십시오.

    [Desktop Entry]
    Name=Your App
    Exec=/bin/sh -c 'yourapp-launcher'
    Type=Application
    X-GNOME-Autostart-Delay=30
    Icon=yourapp
    Comment=
    NoDisplay=true
  3. DistUtilsExtra 섹션에서 setup.py추가 data_files를 편집 하고 지정 하십시오. 예 :

    DistUtilsExtra.auto.setup(
    name='hello-ubuntu',
    version='0.1',
    #license='GPL-3',
    #author='Your Name',
    #author_email='email@ubuntu.com',
    #description='UI for managing â¦',
    #long_description='Here a longer description',
    #url='https://launchpad.net/hello-ubuntu',
    cmdclass={'install': InstallAndUpdateDataDirectory},
    data_files=[('/etc/xdg/autostart', ['data/yourapp-launcher.desktop'])]
    )

U1 작동 방식과 같이 모든 사용자에 대해 데몬을 실행해야하는 경우를 대비 한 방법입니다.

옵션 # 2 : 하드 코드

모든 것을 앱 로직에 하드 코딩합니다 (예 : GmailNotify 앱의 작동 방식과 유사하게 첫 실행시 ~ / .config / autostart / yurapp-launcher.desktop 초기화) .

GmailNotify 앱과 달리 python-xdg 라이브러리를 사용하여 freedesktop.org 표준에 액세스 할 수 있습니다.

import xdg
print xdg.BaseDirectory.xdg_config_home

사용자 관리 데몬에 적합합니다.


1

내가 볼 수 있듯이 데몬을 빠르게 추가 할 수있는 템플릿이 없습니다. 그러나 데몬 템플릿을 만들어 기여할 수 있습니다. 자신 만의 템플릿을 만드는 방법은이 질문에 대한 답변에서 설명합니다. 신속하게 새로운 응용 프로그램 템플릿을 만드는 방법

Launchpad에서 커뮤니티 템플릿 그룹 에 가입하여 다른 사람이 템플릿을 사용할 수 있도록 만들 수 있습니다.

편집 : Unity 렌즈 템플릿도 있습니다. Ubuntu Unity에서만 작동하므로 플랫폼에 따라 달라집니다 (요청하면 큰 약점이 아닙니다). 그러나 처음부터 D-Bus가 준비된 것 같습니다. 데몬과 비슷하지만 어쩌면 그렇지 않을 수도 있습니다. 이것을 플랫폼 독립 데몬을 만드는 시작점으로 사용할 수 있습니다.

다른 사람과 연결할 수있는 것 이외의 세부 정보는 알 수 없습니다. 죄송합니다. Qt4를 빠르게 사용하는 방법을 찾으려면 이것을 직접 살펴보십시오. EDIT2 : Qt에 D-Bus 구성 요소가 있다는 것을 알았습니다. 데몬 플랫폼을 독립적으로 만들 수 있습니다 (Windows 및 Linux 등에서 작동). 이 토론 포럼 ( http://www.qtcentre.org/threads/38453-Send-and-receive-a-signal-between-2-Qt-applications )에는 사용 방법에 대한 예제가 있습니다 (C ++이지만 여전히) 그것. 또는 QDBusConnection 및 QDBusMessage를 위해 Google을 사용할 수 있습니다.


0

Quickly 문서를 살펴보면 Quickly는 기본적으로 데몬 만들기를 지원하지 않는 것 같습니다. 따라서 파이썬 데몬 라이브러리를 제안합니다 . 또한 Quickly 응용 프로그램에서 쉽게 인터페이스 할 수있는 다음 Python 자습서를 살펴보십시오.

또한 이 스택 오버플로 질문 은 Python 데몬을 다루고 있습니다.


많은 링크를 살펴 보았지만 신속하게 GUI 응용 프로그램과 병렬로 실행될 데몬을 연결하는 권장 방법을 찾고 있습니다. 데몬은 동일한 응용 프로그램과 함께 패키지되어야하며 부팅시 시작해야합니다.
Vignesh

다시 말하지만, 이것을 신속하게 지원하지 않습니다. 응용 프로그램을 Quickly에서 'real'Python으로 졸업해야합니다. 그렇기 때문에 예제 링크를 제공했습니다.
dotancohen

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.