リモートCitrixセッションにスーパーキーを送信する

リモートCitrixセッションにスーパーキーを送信する

私は自宅のGNU / Linux Debian(テスト)デスクトップでCitrix Receiverを使用して仕事用のWindowsコンピュータにリモートで接続しています。

私はEmacsを広く使用しており、スーパーキーまたはメタ(alt)シフトの組み合わせを使用する多くのキーバインディングを持っています。ただし、私のスーパーキー(例s-g:)またはMetashiftキーの組み合わせ(例M-<:)はWindowsコンピュータには渡されません。s-g送ったようですねgM-<送ったようです<

  1. すべてのモバイルキーストロークを完了するにはどうすればよいですか?
  2. スーパーモディファイヤをどのように渡すことができますか?

これはCitrixクライアント設定ガイドに最も近いものですが、役に立つものはありません。https://www.citrix.com/content/dam/citrix/en_us/documents/downloads/citrix-receiver/linux-oem-guide-13-0-bk.pdf

修正する~/.ICAClient/All_Regions.ini含めるファイルを編集して

[Virtual Channels\Keyboard]
TransparentKeyPassthrough=Remote

ローカルとリモートの両方でスーパーキーを正常に攻撃できます。ちょっと待って、M-<まだリモコンには見えません。

修正する http://support.citrix.com/article/CTX103576私が見たキーコードをキャプチャできるコマンドを導入しました-keylog(これは明らかに重要なセキュリティ上の欠陥であるため、使用後は必ずオフにしてください)。

非常にゆっくりと押すと、MCitrixはそれを正しく解釈してリモートemacsに正しいコマンドを送信できることに気づきましたshift。これは理想的ではありませんが、少なくとも回避策です。 Citrixが見るキ​​ーコードは.M-<

Key down: special 8/0x8
Key down: special 5/0x5
Key down: Unicode '<' - 60/0x3c
Key up: Unicode '<' - 60/0x3c
Key up: special 5/0x5
Key up: special 8/0x8

失敗した試みは次のとおりです。

Key down: special 5/0x5
Key down: special 64/0x40
Key down: Unicode '<' - 60/0x3c
Key up: Unicode '<' - 60/0x3c
Key up: special 64/0x40
Key up: special 5/0x5

スーパーキーはCitrixで見ることができ、special 65/0x41これを行うとs-fキーロガーで次のようになります。

Key down: special 65/0x41
Key down: Unicode 'f' - 102/0x66
Key up: Unicode 'f' - 102/0x66
Key up: special 65/0x41

しかし、リモートEmacsはそれを見るだけですf

修正するこれはとても奇妙です。リモコンはM-s-(元スーパー)バインディングを見ることができます。ただs-バインディングが見えないだけです。

答え1

私の場合はDebian 11を使用しており、追加しました。

[Virtual Channels\Keyboard]
TransparentKeyPassthrough=Remote

その他の重要な変更点は、/etc/gdm3/daemon.confに行き、その行のコメントを外してWaylandを無効にすることです。

#WaylandEnable=false

到着

WaylandEnable=false

私にはこの二つだけが効果がある。独創的な知識は次のとおりです。シトリックスフォーラム

関連情報