Linux:ネットワーク経由でキーボードを共有する


12

タイトルが示すように、リモートキーボードをローカルで使用したいと思います。リモートキーボードはTTYで使用でき、可能であればX-Serverでも使用できる必要があります。ネットワーク透過性を備えた「偽の」キーボードをエミュレートするドライバー(カーネルモジュール)はありますか?

回答:


16

自分で見つけました。

まず、両方のマシンにevdevカーネルモジュールがロードされていることを確認してください。

実行するリモートマシンで:

$ cat /dev/input/by-path/platform-i8042-serio-0-event-kbd | nc <IP> 4444

そしてクライアントで:

$ nc -l -p 4444 > /dev/input/by-path/platform-i8042-serio-0-event-kbd

(注:UbuntuやFedoraなどでnetcat-openbsdのnetcatを使用している場合は、「-p」を使用しないでください)

私がTTYであろうとX.orgであろうと完全に機能します。そして、遅滞なく実行されます!

残念ながら、リモートマシンでもすべてのキーが入力されます。ncの実行中に一時的に無効にする方法はありますか?リモートマシンで「cat-」を実行するようなことを考えましたが、Ctrl-Cを押すともちろん終了します。


2
私は幸運に恵まれましnc -l 4444-p。によるとman nc-pとの組み合わせで明示的に禁止されてい-lます。そうでなければ、これは素晴らしいソリューションであり、私は必要なものだけ:)
マグヌス・ホフ

1
安全な接続を介して、またはローカルで使用することを強くお勧めします(ただし、どちらも安全ではありません)。snetcat( 'secure netcat')があります。これは、証明書をインポートすると機能します(go、google it :-)。また、解決策を受け入れてください。この質問はまだ「未解決」です。
pruzinat

コピーアンドペーストをサポートしている場合はさらに大きくなります。
陳明張

すばらしい解決策!これを理解できたことに感銘を受けました。あるマシンで出力を無効にし、別のマシンで実行するための解決策を見つけましたか?
セスタリアン

7

Synergyは、複数のマシン間のネットワークでキーボードを共有します。それがあなたが望むことを直接やらないなら、私はあなたが簡単にセットアップできるようにするコードがそこにあると確信しています。


Synergy +は、バグ修正のために維持されている相乗効果の「分岐点」です。さらに、いくつかのDebianパッケージリポジトリでquick-synergyを使用でき、相乗効果のGUIラッパーを提供します。
ジョサイア

3
実際、SynergyはX-Serverに依存しています。ただし、TTYで機能するソリューションが必要です。TTYでキーを押す方法をエミュレートする方法を知っていたら、自分で小さなアプリケーションを作成しようとします。残念ながら、Googleで貴重なものを見つけることができませんでした。おそらく誰かが私にいくつかのヒントを与えることができますか?
タイミング2009年

5

見てくださいシナジーを

Synergyは無料のオープンソースソフトウェアで、マウスとキーボードを複数のコンピューター間で簡単に共有できます。各コンピューターには独自のディスプレイがあります。特別なハードウェアは必要ありません。必要なのはローカルエリアネットワークだけです。Synergyは、Windows、Mac OS X、およびLinuxでサポートされています。マウスとキーボードのリダイレクトは、画面の端からマウスを移動するのと同じくらい簡単です。

相乗効果


0

nc(netcat)の使用に関する上記の提案は、私にとってはうまくいきません。

このコマンドを使用して入力ストリームを開くことができます:

nc -l -p 4444 > /dev/input/by-path/platform-i8042-serio-0-event-kbd

sudoとして実行しても、許可が拒否されます。ターゲットマシンには本当に古いLinuxがインストールされているため、/ dev / inputデバイスファイルは読み取り専用の方法で戻っていた可能性があります。

ただし、x2xを使用してこの問題を解決できたため、結果は非常にユーザーフレンドリーです。

ターゲットマシンで「xhost +」を実行し、gdmsetupを使用してリモート接続を有効にする必要があります(これにより、次にgdmがXセッションを起動するときにXの-nolistenフラグが削除されます)。

その後、xserverはリモート接続用に広く開かれ、x2xはソース(キーボード)マシンから接続できます。

x2x -to 192.168.1.3:0

x2xの優れた点は、ソースマシン上に小さなコントロールウィンドウを提供し、キーボードイベントはそのウィンドウがフォーカスされたときにのみターゲットに送信されることです。これは非常に便利な方法です(ソースマシンからこの回答を入力していますが、コントロールウィンドウの焦点が合っていないため、迷惑なキー入力がターゲットマシンに届きません)。また、コントロールウィンドウの中央をクリックすると、マウスイベントの転送も開始され、2ボタンをクリックすると、マウスイベントの送信が終了します。また、コントロールウィンドウでクリックしてマウス転送を有効にすると、すべてのキーボードイベントがターゲットに送信され、ソースには送信されません。したがって、ALT-TABは、ソースマシンのコントロールウィンドウの焦点をぼかすことなくターゲットに送信されます。

ソースマシンで仮想デスクトップを有効にしているので、離れたデスクトップにx2xコントロールウィンドウを貼り付けて、ターゲットマシンを制御する必要がある場合にのみそこに移動します。

このバージョンのソリューションはXレベルにあり、上記の答えはLinuxデバイスレベルにあります。もちろん、ターゲットとソースの両方でXを実行していない場合、これはまったく機能しません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.