[英]Run Terminal at startup and execute command as sudo
我正在嘗試在啟動時使用終端將可執行文件作為 sudo 運行,但我遇到了一些問題。 我在其他答案中找不到解決方案,所以我打開了這個。 我正在使用帶有桌面的 Raspbian Stretch 的 Raspberry Pi 3 B+,以及從 Raspberry Pi 官方網站下載的推薦軟件。
我有一個需要使用 sudo 運行的可執行文件(我使用 pigpio 庫通過 SPI 與另一個硬件進行通信,如果我不使用 sudo 運行可執行文件,pigpio 將不起作用)。 我想要實現的是,當 Pi 完成啟動圖形界面時,它將運行 LXTerminal 並執行“sudo home/pi/myfolder/myprogram”。
我試過了:
sudo nano ~/.config/autostart/myprogram.desktop
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=myprogram
Exec=lxterminal -e "sudo /home/pi/myfolder/myprogram"
Terminal=true
sudo chmod a+r ~/.config/autostart/myprogram.desktop
也試過:
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
lxterminal --command="sudo /home/pi/myfolder/myprogram"
這兩種方法都在啟動時打開了 lxterminal,但沒有執行我的程序。 誰能幫我嗎?
我找到了解決方案,所以我會把它貼在這里以防其他人需要它。 如果它已經存在於這里的其他地方,請隨意將其標記為重復。 對我有用的解決方案是:
sudo nano ~/.config/autostart/myprogram.desktop
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=myprogram
Exec=lxterminal -e bash -c 'sudo /home/pi/myfolder/myprogram;$SHELL'
Terminal=true
sudo chmod a+r ~/.config/autostart/myprogram.desktop
$SHELL 使終端在 myprogram 結束執行后保持打開狀態。 如果您不需要此功能,只需排除上面代碼的 ;$SHELL 部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.