私はLinux上の端末から実行するperlスクリプトを持っています。起動できるようにしたいのですが、デスクトップ環境が起動すると自動的にターミナルが開き、このプログラムにスターを付けるための引数が渡されます。 ./ttytter.txt -ansi -mentions -vcheck
。
どうやってこれをやることができますか?
私はLinux上の端末から実行するperlスクリプトを持っています。起動できるようにしたいのですが、デスクトップ環境が起動すると自動的にターミナルが開き、このプログラムにスターを付けるための引数が渡されます。 ./ttytter.txt -ansi -mentions -vcheck
。
どうやってこれをやることができますか?
回答:
時々、ターミナルでプログラムを実行する必要がありますが、このようにすることができます。
xterm -e "sh -c './ttytter.txt -ansi -mentions -vcheck ; read"
最後の "read"はあなたが端末を閉じるためにenterを押すのを待ちます。
あなたは別の端末プログラムを使うことができ、最後に "read"を使う代わりにシェルを走らせることができます。
gnome-terminal -e "sh -c './ttytter.txt -ansi -mentions -vcheck ; exec bash'"
端末によっては(xterm)sh -c ''ラッパーが必要ないかもしれません。ある人たち(gnome-terminal)にとってはどうやらそれを必要としているようです。
そのようなコマンドを.xinitrc、.xsessionに入れるか、または「起動時に実行」ダイアログに入力することができます。
あなたが "端末で実行する"を選択した場合、私はこれをfreedesktop .desktopファイル/ショートカットで行うこともできると思うかもしれませんが、どうやって私の頭の上から外れているのかわかりません。それはそれをするための多くのユーザーフレンドリーな方法でしょう!あなたがそれを理解できるかどうか確かめてください...
さて、もしあなたがシェルコマンドに対して一般的にそれをしたいのなら、シェルエスケープを心配する必要があります - そしてそれはより困難になります!または、コマンドをスクリプトに入れて実行することもできます。
echo $?のように、コマンドの終了ステータスを確認することも役に立ちます。 0は成功を意味します。
過度に複雑な答えですみません、私はそれが助けることができると思います。
明示的に端末を起動する必要はありません。 Perlスクリプトを追加してください。 ~/.xsession
このファイル内のコマンドはすべて、グラフィカルログイン後に実行されます。
script.pl > filename
)を追加 gedit filename
あなたの.xsessionファイルに。