PowerShell で次を実行
$OutputEncoding = [Console]::OutputEncoding
Get-Clipboard -Format Text | ssh macOS_host "iconv -f sjis -t utf8 | pbcopy"
Get-Clipboard -Format Text | ssh Linux_host "iconv -f sjis -t utf8 | xsel --clipboard --input"
上記のコマンドで,リモートの macOS ホストと Linux ホストそれぞれのクリップボードにローカルのクリップボードのテキストが転送されます。
最初のほうで OutputEncoding を上書きしているのは,これをしないと Get-Clipboard
コマンドレットの出力が us-ascii
でエンコードされるので,クリップボードの中身が日本語だと化けます。ちなみに ASCII のテキストなら
Get-Clipboard -Format Text | ssh macOS_host "pbcopy"
だけで済む。
逆に,macOS や Linux のホストのクリップボードを手元に持ってきたいときは,macOS なら pbpaste
,Linux なら xsel --clipboard --output
を使ってください。
あと言わないでもわかることだとは思うけど,PowerShell の Get-Clipboard/Set-Clipboard
コマンドレットや macOS の pbcopy/pbpaste
コマンドはデフォルトで使えますが Linux の xsel
コマンドは自分でインストールしなくても必ず存在するとは限りません。
ちなみに,とくに Windows ホストに外部コマンドをインストールしてはいけない縛りとかないのなら,win32yank を導入するのはオススメ。