2010-01-23 4 views
0

, 파이썬으로 데몬을 작성하려고합니다. 특정 네트워크 조건을 모니터하고 gtk.messagedialog를 사용하여 사용자에게 알려줍니다. rc-update를 사용하여이 스크립트를 설치했습니다. 데몬은 부팅 할 때 시작되지만 로그인 한 후에도 대화 상자를 표시하지 않습니다. init.d가 tty1에서 데몬을 시작하고 gnome을 사용할 수 없기 때문에 나는 생각한다. 서브 프로세스를 통해 대화 상자를 실행하려고 시도했지만 동일한 실행 환경을 상속하는 것으로 보입니다. 이런 종류의 일에 가장 좋은 방법은 무엇입니까?파이썬/리눅스/데몬 프로세스가 gtk.messagedialog를 보여 주려고 시도합니다. 우분투 8/9에

답변

0

코드가 작동하는지 확인하려면 먼저 그래픽 쉘 (GNOME 데스크탑)에서 일반 프로그램으로 데몬을 실행해야합니다.

zenity으로 전화 할 수도 있습니다.

3

5 명의 사용자가 X 세션에 로그인 한 경우 누가 메시지를 받게됩니까? 각자 모두?

누군가가 로컬로 로그인되었지만 X11이 아닌 tty 만 사용하는 경우 메시지가 표시됩니까?

누군가가 ssh -X를 통해 원격으로 로그인하여 자신의 시스템에서 그래픽 응용 프로그램을 CPU에서 실행하는 경우 메시지가 표시됩니까? 어떻게 그걸 그들에게 가져다 줄까요?

Linux는 현재의 방식에 비해 너무 유연합니다. 이렇게하는 표준 방법은 메시지를받는 응용 프로그램을 실행하기 위해 보내는 메시지의 종류에 관심이있는 모든 사용자가 메시지를 선택하여 표시하는 것입니다. Dbus는 메시징 프로세스를 설정하는 보편적 인 방법입니다. 이렇게하면 TTY 모드로 로그인 한 원격 사용자 또는 사용자에게만 메시지를 볼 수있는 옵션이 제공됩니다.

+0

좋은 지적. 나는 그 문제에 대해 생각조차하지 않았다. – AndiDog

0

notify-send (libnotify-bin 패키지)을 사용하여 데몬에서 데스크톱 사용자에게 알림을 보낼 수 있습니다.