Debian

Debian Jessie / Xfce4:hp-systray磷我D磷我DPID: 錯誤: 選項 -s 無法辨識

  • March 31, 2022

Debian Jessie,Xfce4 版本。4.10,HPLIP 版本。3.14.6

從 Debian Wheezy 升級到 Jessie(是的,我知道…)後,開始在引導日誌中收到以下(級別 1/警報)通知:

hp-systray[PID]: error: option -s not recognized

對主題日誌條目的仔細審查表明,該命令/usr/bin/python /usr/bin/hp-systray -session ....已在登錄過程中的某個時間點嘗試過。在終端中執行所述命令確實會產生主題錯誤尖叫聲。原來這-session不是這個命令的有效開關……

執行 Wheezy 時從未見過上述通知。

網際網路研究得出的觀察結果是,這個問題似乎相對罕見,看似無害,已經存在至少 10 年,而且從未被解釋過。

我注意到,如果我hp-systray在關閉之前殺死程序,那麼在後續啟動時問題就不存在了,但是對於任何沒有前面提到的“殺死”操作的後續啟動都會返回。

有任何想法嗎?

一些實驗表明,主題日誌 squawk 與~/.cache/sessions/xfce4-session-$HOSTNAME:0登錄時 Xfce4 會話管理器引用的文件中的一行相關(為清楚起見,此處複製了此行之後的行):

Client6_RestartCommand=/usr/bin/hp-systray,-session,23775cb5c-d4da-45ef-9d25-410c10c6a78b_1597436809_471656
Client6_Program=/usr/bin/hp-systray

顯然,所述會話管理器將hp-systray程序包含在它保存的數據中以保留會話。我仍然有一些執行 Wheezy 的具有類似軟體包套件的機器,並且發現會話管理器永遠不會保存該程序。但是,會話管理器確實在 Jessie 下保存了上述過程,但結果並不理想。

如果給使用者一種方法來排除 Xfce4 會話管理器保留的特定程序,那肯定會很好……

同時,我拼湊了一個不優雅但有效的解決方法。

我編寫了一個最小的服務文件,名為stop_the_madness.service

[Unit]
Description=Digger add, prevents hp-systray log alert on next boot
After=syslog.service

[Service]
ExecStart=/bin/bash -c "sed -i 's/\/usr\/bin\/hp-systray/\/bin\/true/g;s/-session//' /home/$USER/.cache/sessions/xfce4-session-$HOSTNAME:0"

[Install]
WantedBy=default.target

將上述新創建的服務文件放入/etc/systemd/system目錄中,然後chmod 644 /etc/systemd/system/stop_the_madness.service. 然後我做了一個systemctl daemon-reload,然後systemctl enable stop_the_madness.service

從現在開始,當引導過程到達登錄時,違規文件中的違規行~/.cache/xfce4-session-$HOSTNAME:0如下所示(使用以下行):

Client6_RestartCommand=/bin/true,,2ba711268-faee-473f-a6ce-dfb1efcff056_1597378561_935995
Client6_Program=/bin/true

問題結束(無論如何,對於重新啟動、關閉和停止)。

**更新:**升級到 Debian Stretch 後,我開始看到以下引導日誌警告:(...Invalid escape sequences in line, correcting:...不確定此警告是否在 Jessie 下引發)。如Stop systemd from flooding log with “Ignoring unknown escape sequence”中所見,我只是(在“ExecStart”行中)用雙反斜杠轉義替換了所有單反斜杠轉義:

ExecStart=/bin/bash -c "sed -i 's/\\/usr\\/bin\\/hp-systray/\\/bin\\/true/g;s/-session//' /home/dg/.cache/sessions/xfce4-session-2011:0"

問題結束。

引用自:https://unix.stackexchange.com/questions/604565