これが私がやろうとしていることです。子供たちはUbuntuのボックスで映画やYouTubeなどを見ています。私はWindowsボックスで何でもしています。子供たちは耳にヘッドフォンを埋め込んでいるので、端末にログインし、何らかのメッセージをブロードキャストして、注意を引いたり、メッセージを伝えたいと思います。私はすでに、端末にリモートでログインして、遊んでいる間にボックスで作業する方法を知っています。
「壁」や「書き込み」などのオプションを見ましたが、これらは端末ログインでのみ機能するようです。ターミナルからログインしたテストアカウントにメッセージを送信できますが、モニターの前に座っているローカルユーザーには何も送信されません。
私のオプションは何ですか?ほとんどの場合、YouTubeやフルスクリーンのときに何をしているのかを妨げる、私が配信しようとしているメッセージが表示されたウィンドウがポップアップするようにします。
思考?提案?助言?
アクセス許可
xhost +local:
またはアクセス制御を無効にすると、クライアントは任意のホストから接続できます(悪い考えですが、ネットワークでは問題ないようです)
xhost +
これで、リモート接続からこれを実行できます。
DISPLAY=:0 xmessage -center " THIS IS A TEST MESSAGE"
ベローは小さなデモです。 TTY1とGUI端末間でセッションを共有しました。ご覧のとおり、DISPLAY
には環境変数が設定されていないため、この端末はTTY1で作業しているかのようです。上記のコマンドは、一時的にDISPLAY
変数を設定するため、そのディスプレイのxserverインスタンスにxmessageが表示されます。
notify-send
でも同じことをしようとしましたが、うまくいかないようでした。
編集
xmessage
は少し小さいです。私が好むのは、zenity
ダイアログを使用することです。例えば、
DISPLAY=:0 zenity --info --text=" THIS IS ZENITY INFO DIALOG "
画面にポップアップを作成したいので、次のことが最も簡単です:
1)子供がログオンしたときにプログラムを開始します(Perlスクリプトを使用します)。バックグラウンドに置きます。 Perlスクリプトは、1024
の上および65536
の下の未使用ポート(ポート12345
など)でTCP
接続をリッスンする必要があります。 (TCP
port 12345
を介して)メッセージを受信すると、ポップアップを生成し、次の行を待つことができます。
2)Windowsでは、PuTTY
を使用してUbuntuサーバーのTCPポート12345に接続し、メッセージを入力します。
必要な短い簡単なメッセージの場合は、notify-send
を使用できます。これにより、画面の右上に短命のアラートメッセージが作成されます(Thunderbirdが新しいメールのアラートに使用するのと同じスタイルで、またはFilezillaが長時間の操作が完了したことをアラートに使用する)。
notify-send "message text here"
または
notify-send "title here" "message text here"
または、本当に注目を集めたい場合、
notify-send "title here" "message text here" -i face-angry
メッセージの前に怒った顔をします(驚きです!)。使用できるさまざまなアイコンがあります。コンピューターで使用可能なリストを表示するには、ls /usr/share/icons/gnome/32x32/emotes/
と入力します。