簡體   English   中英

程序在rc.d腳本啟動后終止(Arch Linux)

[英]Program terminates after rc.d script starts it (Arch Linux)

大家好,我已經編寫了一個程序來充當運行Arch的MacBook Pro的鍵盤背光控制器,就像OS X中的本機一樣。該程序本身很好用,但是我隨Arch程序提供的rc.d腳本包,似乎無法正確打開程序……或者,我認為。

可在此處找到Arch軟件包的源代碼(rc.d腳本和PKGBUILD文件)。 我在我的/etc/rc.conf中的守護程序行中添加了“ mbpkbdbacklightctl”。

發生的是,在啟動時,我看到rc.d腳本啟動,程序已啟動且沒有錯誤,並且鍵盤上的背光燈亮起,這意味着程序也可以正常運行,但是當gdm開始記錄時進入gnome,該程序似乎已經終止。 我無法找到記錄的任何錯誤,但是如果在20秒鍾或更長時間內未注冊任何鍵盤或鼠標事件,該程序將關閉背光,並在注冊一個時將其重新打開,而這在gdm上不會發生,並且在侏儒。 另外,當我到達gnome並執行pidof -o %PPID /usr/bin/mbpkbdbacklightctl ,它什么也沒有返回,表明程序已終止。 啟動gnome時,我必須重新啟動rc.d腳本以使事情正常運行。

由於程序終止,我似乎無法掌握該程序發生了什么。 不過,該程序的源代碼可以在這里找到,我相信該錯誤出在rc.d腳本中,並且它可能無法正確啟動該程序以使其能夠通過gdm啟動“生存”。

有什么想法可以繼續嗎?

問候,克里斯·布赫霍爾茨

如果您閱讀了mbpkbdbacklightctl.cpp的源代碼,則會看到以下mbpkbdbacklightctl.cpp行:

95  std::string the_display = ":0.0";
96  Display *x11_display = XOpenDisplay(the_display.c_str());
97  if(x11_display != NULL) {

因此,如果沒有活動的X服務器,它將失敗,這意味着您必須 X會話啟動啟動此腳本。 因此,您必須將腳本放在/etc/X11/xinit/xinitrc.d

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM