SSH経由でリモートXセッションにキー押下を送信する


12

だから、Ubuntu HTPCで制御されているテレビを見ながら作業しているUbuntuラップトップのリビングルームに座っています。私はIRリモートをセットアップしており、99%の時間で必要なすべてを制御できます。

ただし、リモートでのテキスト入力は非常に簡単ではありません。頻繁に行う必要はありませんが、そうすることで、15フィート歩いてUSBキーボードを差し込み、そのようにする方が簡単になります。しかし...私は犯罪的にも医学的にも怠け者で、どんな距離を歩くことも必要ではないだけでなく、彼らが勝ったロボットを示しています。もう言わない!

HTPCにSSHでうまく接続できます...では、そのリモートコンピューターのXセッションにキーを押す方法を教えてください。

VNCを使用できることはわかっていますが、TVは1080p、ラップトップは720pであるため、スケーリングの問題が発生します。技術的なレベルでは、ラップトップを一時的にリモートキーボードに変える方法を提供してくれる解決策が必要です。


私はあなたよりも怠け者です。IRリモートを設定する代わりに(私は1つも購入しました!)、信頼できるワイヤレスキーボードを追加で購入しました。
MadMike

回答:


13

xdotool適切なXディスプレイを指定した後、コマンドを使用してそれを行うことができるはずです。たとえば、現在アクティブなウィンドウで「下矢印」を1回押すことをシミュレートします。

$ DISPLAY=:0 xdotool getactivewindow key Down

リテラルテキストを入力するには、xdotool type <string>たとえば

$ DISPLAY=:0 xdotool getactivewindow type 'your text here'

xdotoolパッケージには、宇宙のリポジトリから利用可能であるべきです。


私はそれが機能することを否定しませんが、一度に1つのキーをネットワークロケーションに入力しようとすると、少し悲惨です。
オリ

3
xdotool type完全な文字列を入力どおりに送信するために使用できます-上記の私の編集を参照してください。
スチールドライバー

10

x2xX11転送を使用して、これを機能させました。

ssh -X htpc x2x -to :0

現時点での唯一の欠点は、SSHを終了して終了するためにTTYにぶつかったことです。終了したら、まだ終了する方法を探しています!それ以外の場合は、1台のコンピューターから別のコンピューターに入力を転送するための非常に素晴らしく簡単な(およびショートカットテーブル)メソッドです。

編集:追加-nomouseすると、転送されたx2xウィンドウを閉じることができ、フォーカスを外すと、接続をシャットダウンせずに他のことにすばやく戻ることができます。


-nomouseもう機能しないようです。私にとっては、ubuntu 16.04 x2xでは、そのフラグをどこに置いても、使用情報のみが出力されます。
フィリップルートヴィヒ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.