나는로 앱을 빠르게 빌드하고 있으며 백그라운드에서 실행될 데몬을 추가하고 싶었습니다. 어떻게합니까?
나는로 앱을 빠르게 빌드하고 있으며 백그라운드에서 실행될 데몬을 추가하고 싶었습니다. 어떻게합니까?
답변:
지금까지 데몬 실행을 방지하거나 도울 수있는 구체적인 내용은 없지만 파이썬으로 할 수있는 적어도 두 가지 옵션이 있습니다.
참고 : 나는 이것을 아직 시도하지 않았습니다 :)
다음과 같이 데몬 스크립트를 bin
신속 프로젝트 의 디렉토리에 넣으십시오.bin/yourapp-launcher
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
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 작동 방식과 같이 모든 사용자에 대해 데몬을 실행해야하는 경우를 대비 한 방법입니다.
모든 것을 앱 로직에 하드 코딩합니다 (예 : GmailNotify 앱의 작동 방식과 유사하게 첫 실행시 ~ / .config / autostart / yurapp-launcher.desktop 초기화) .
GmailNotify 앱과 달리 python-xdg 라이브러리를 사용하여 freedesktop.org 표준에 액세스 할 수 있습니다.
import xdg
print xdg.BaseDirectory.xdg_config_home
사용자 관리 데몬에 적합합니다.
내가 볼 수 있듯이 데몬을 빠르게 추가 할 수있는 템플릿이 없습니다. 그러나 데몬 템플릿을 만들어 기여할 수 있습니다. 자신 만의 템플릿을 만드는 방법은이 질문에 대한 답변에서 설명합니다. 신속하게 새로운 응용 프로그램 템플릿을 만드는 방법
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을 사용할 수 있습니다.
Quickly 문서를 살펴보면 Quickly는 기본적으로 데몬 만들기를 지원하지 않는 것 같습니다. 따라서 파이썬 데몬 라이브러리를 제안합니다 . 또한 Quickly 응용 프로그램에서 쉽게 인터페이스 할 수있는 다음 Python 자습서를 살펴보십시오.
또한 이 스택 오버플로 질문 은 Python 데몬을 다루고 있습니다.