ログイン時にメッセージをどのように表示しますか?

ログイン時にメッセージをどのように表示しますか?

ログイン時にメッセージを表示しようとしています。Linux Mint 17.2。私は成功せずに様々な方法を試しました。

/home/myusername/Desktop/startup-message.sh1) 以下のようにファイルを作成しました。

#!/bin/bash
echo "My startup message"
pause
exit

ファイルを実行可能にし、コマンドラインから実行できることを確認しました。

bash "/home/myusername/Desktop/startup-message.sh"

または

sh -c "/home/myusername/Desktop/startup-message.sh"

その後、Mintの「Launch Application」機能を使用して新しいエントリを追加しました。私は試した:

  "/home/myusername/Desktop/startup-message.sh"
  bash "/home/myusername/Desktop/startup-message.sh"
  sh -c "/home/myusername/Desktop/startup-message.sh"

パス名の周りに引用符が含まれているかどうか。いずれの場合も何も表示されず、「一時停止」は無視されます。

最後に、一時停止後にファイルをコピーするコマンドを追加したところ、ファイルがコピーされました。これにより、スタートアップファイルでechoおよびが無視されるように見えますpause。おそらく開いている端末がないからです。

2)その後、メッセージを追加しようとしましたが、/etc/profileログインしたときにメッセージが表示されませんでした。

3)その後、メッセージを追加しようとしましたが、/etc/motdログインしたときにメッセージが表示されませんでした。

では、この簡単な作業をどのように実行しますか?

ベストアンサー1

機能を混同していますechoecho標準出力ファイル記述子として印刷されます。端末が開いている場合、通常は端末で実行されるコマンド/スクリプトの標準出力になります。echo端末自体は開かれません。

起動時にメッセージを表示するには、次の方法を使用する方が「グラフィックス」ですzenity

zenity --info --text "Hello, world!"

これを起動スクリプトに入れると、この効果を示すメッセージボックスが表示されます。

またmotd、テキストベースのログインメッセージを印刷すると(たとえば、仮想端末にログインしたり、ログインを介してssh)、必要に応じて機能しなくなります。

起動時に端末を具体的に開くには、スクリプトで次のように実行できます。

xterm -e 'bash -c "echo My startup message;sleep 10"'

おすすめ記事