起動時に端末を開き、コマンドを渡す


2

私はLinux上の端末から実行するperlスクリプトを持っています。起動できるようにしたいのですが、デスクトップ環境が起動すると自動的にターミナルが開き、このプログラムにスターを付けるための引数が渡されます。 ./ttytter.txt -ansi -mentions -vcheck

どうやってこれをやることができますか?

回答:


1

時々、ターミナルでプログラムを実行する必要がありますが、このようにすることができます。

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は成功を意味します。

過度に複雑な答えですみません、私はそれが助けることができると思います。


複合体は素晴らしいです!病気をやる
Simon Sheehan

0

明示的に端末を起動する必要はありません。 Perlスクリプトを追加してください。 ~/.xsessionこのファイル内のコマンドはすべて、グラフィカルログイン後に実行されます。


出力を見るにはターミナルを開く必要があります。
Simon Sheehan

出力をファイルにリダイレクトします( script.pl > filename )を追加 gedit filename あなたの.xsessionファイルに。
terdon
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.