私のアプリケーションは、rootsコマンド「sudoifupeth0」および「sudoifdowneth0」を実行しようとします。しかし、「sudo:申し訳ありませんが、sudoを実行するにはttyが必要です」というエラーが返されました。したがって、sudoコマンドを実行するにはttyが必要です。そこで、ttyセッションを開いてコマンドを実行しようとしました
gnome-terminal --command="sudo ifdown eth0" &
xterm -e "sudo ifdown eth0" &
それからそれはうまくいきました。しかし、新しく作成されたgnome-terminalまたはxtermからコマンドを送信できません。つまり、コマンドを実行する前に新しく作成されたgnomeまたはxtermウィンドウを閉じると、コマンドはすぐに終了しました。
ユーザーがウィンドウを閉じるのを無効にする方法や、ウィンドウをユーザーに表示しないようにする方法を提案できますか?
注:これは、ifdownおよびifupの代わりにsystem-config-networkコマンドを使用してテストできます。