私は問題があります。私はPythonスクリプトから新しい端末ウィンドウでsudoコマンドを実行しようとしていますが、新しいウィンドウにパスワードを入力するたびに実行します。 ここに私のコードです:
import subprocess
import sys
import os
def run_lirc():
subprocess.call(["x-terminal-emulator","-e","sudo lircd"])
run_lirc()
私のルートパスワードを渡さないようにする解決策はありますか? 新しいターミナルウィンドウでlircを開く必要があります。
回答:
回答№1は1別の "端末ウィンドウ"でいくつかのサブコマンドを呼び出すことは別として悪い考えですが、それはsudo設定の問題です。
Sudoはtty cookieをセッションに割り当て、セッションタイムアウトを事実上認証を取得したttyに制限します。
これが起こらないようにするには、tty_ticketsオプションを /etc/sudoers
:
Defaults !tty_tickets