MacからWindowsにリモートデスクトップする時の円記号は危険というお話。
Windowsでは、フォルダのパス区切りに円マークに見える文字を使うのは周知のことでしょう。
これは、英語環境ではバックスラッシュとして表示される文字です。
しかし、Mac→Windowsのリモートデスクトップの際はこの文字は打つことができません。
¥と印字されたキーを押すと、
見た目が同じ円記号が入力されますが、
なんとこれはバックスラッシュではありません。
バックスラッシュ(0x5c)についておさらい
バックスラッシュはアスキーコードで 0x5c の文字です。
これは日本語フォントだと円記号で表示されます。
中身はバックスラッシュ「\」です。
Windowsだと日本語キーボードの「¥」を押すとバックスラッシュが入力されます。
「\」(日本語キーボードの「ろ」の位置)を押しても同じくバックスラッシュ入力されます。
Windowsではこのバックスラッシュを、
ごぞんじの通りフォルダの区切り文字として使っています。
もちろんファイル名としては使えません。
Macでは円記号とバックスラッシュを区別して打つことができてしまう
さて、Macでは右上に「¥」と書かれた文字を打つと
システム環境設定 → キーボード → 入力ソース
「”¥”キーで入力する文字」で入力する文字を2つから決められます。
バックスラッシュ
円記号
の2種類が打てることになっています。
前者のバックスラッシュ
前者のバックスラッシュは、Macでの見た目も、もちろん中身もバックスラッシュです。0x5cが入っています。
これをMacでSlackに打ち込むとMacでもWindowsでも見た目はバックスラッシュで表示されます。
これは、Slack経由でWindowsに持っていくと0x5cとして使えます。
Slack発言から日本語環境に貼り付けると見た目は「¥」になります。
後者の円記号
後者の円記号は注意です。
この円記号は、MacでもWindowsでも見た目こそ半角の「¥」ですが、
バックスラッシュではない別の円記号が入っています。
これをWindowsに持っていくと、パス区切りには使えないが、ファイル名の一部としては使えてしまいます。
便宜上全角で書きますと例えば、enaco¥1.txt みたいなファイルが作れてしまいます。
c:¥home に置くと
c:¥home¥enaco¥1.txt ただしフォルダはhome みたいな大変ややこしいパスのできあがりです。
正常な1.txtが
c:¥home¥enaco¥1.txt にあった場合でも共存できます。
既存のフルパスやフォルダを打ち込んでも
例えばエクスプローラーなら
「’c:¥Windows’は見つかりません。綴りを確認して再実行してください。」と
FileNotFoundなエラーメッセージが表示されることになります。
意図せずWindowsに持ち込みたくない文字ですね。
Mac→Windowsにリモートデスクトップで「¥」キーを押すと
さて、MacのRemoteDesktopアプリを使った状態で
Windowsに入て「¥」キーを押すとどうなるか?
これは、システム環境設定にかかわらず、先程の後者の円記号という
持ち込みたくないものが入力されてしまいます。
おまけに打ち込んだソフトごとに挙動が異なります。
リモートデスクトップでの解決方法は無い
これは素のMacだけではスマートに解決できません。
システム環境設定を変えようが、日本語USBキーボードを使ってもあらがえません。
しかもソフトごとに挙動が違う。
「¥」を使うときには、Mac側からキーボードで打ち込まない。
既存のフォルダ区切りの「¥」をコピペして運用しましょう・・・!