ターミナルでpythonスクリプトを実行する必要がありますmyscript.py起動時に(Lubuntで)。このスクリプトにはルートが必要です。
次のコマンドを実行する.desktop
ファイルを設定しました。
lxterminal --command="python /home/d/Jarvis/alarm.py && /bin/bash"
ターミナルウィンドウは起動時に開き、スクリプトを実行しますが、Pythonスクリプトがエラーを返すと閉じます(rootとして実行されていないため)。 Exec=
をこれに変更すると...
lxterminal --command="Sudo python /home/d/Jarvis/alarm.py && /bin/bash"
...(コマンドの前にSudo
を付けて)動作します。 ただし、起動時にターミナルが開き、
[Sudo] password for d: \
プロンプト、パスワードの入力を要求します。 起動時にpythonスクリプトを実行すると、ユーザーの操作なしで完全に自動化されます。
どうすればこれを達成できますか?
起動時ではなくログイン時に必要な場合(Xサーバーを起動せずにLXTerminalを開く方法はわかりません)、/ etc/sudoersファイルに例外を追加して、プロンプトが表示されないようにする必要があります。あなたのパスワード。
これを行うには、Sudo visudo
を実行し、次を追加します。
<your username> ALL = NOPASSWD: /home/d/Jarvis/alarm.py
これが機能するように、ファイルの最後に必ず追加してください。また、alarm.py
の権限を実行可能に設定して、これが機能するようにします。したがって、これを実行可能として設定します。
chmod +x /home/d/Jarvis/alarm.py
それが役に立てば幸い!
起動時にルートとして実行されるカスタムスクリプトは、rc.local
を介して実行できます。
ルート権限で/etc/rc.local
を編集します。
Sudo nano /etc/rc.local
そして、線を入れます
python /home/d/Jarvis/alarm.py
最後の行の直前に、exit 0
と書かれているはずです。再起動して、動作するかどうかを確認します。