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.