2014年12月1日月曜日

MacでUbuntuを使う上での困り事

前日MacBook ProWindows7を使う上での困り事について書きました。
私のMacBookProにはUbuntu14.04も入っていますが、
UbuntuでもWindows同様に困ったことがいくつかあったので私の解決方法を書き残しておきます。

まずタッチパッドのスクロール方向の逆転です。
X関連の入力デバイスの設定についてはxinputコマンドで制御できます。
$ xinput list
の結果からタッチパッドのコントロールチップっぽいもののIDを探し出します。
私の場合
⎜   ↳ bcm5974                                  id=13 [slave  pointer  (2)]
となっているので"13"がそれです。
なので
$ xinput list-props 13
してみると結果の中に
 Synaptics Scrolling Distance (286):      243,  243
があります。
これを正負逆にすればよいことになります。
具体的には
$ xinput set-prop 13 286 -243 -243
となります。
これでスクロールの向きが縦横ともに逆になります。
問題はOS起動時にこれをどこで自動実行させるかです。
いろいろ試しましたがまったくダメで、
結局[自動起動するアプリケーション]アプリケーションで設定するしかありませんでした。
これは[コンピューターとオンラインリソースの検索]から探し出せます。
またこれには自動起動したいアプリケーションを単に登録することしかできないため、
# echo '#!/bin/sh' > /bin/reverse_scroll
# echo 'xinput set-prop 13 286 -243 -243' >> /bin/reverse_scroll
# chmod 777 /bin/reverse_scroll 
で作った"/bin/reverse_scroll"を登録しました。

次は[Control]キーと[Command]キーの入れ替えです。
最初、設定ファイル"/usr/share/X11/xkb/symbols/pc"の
key  {    [ Super_L       ]   };
key  {    [ Control_L     ]   };
の行を
key  {    [ Control_L       ]   };
key  {    [ Super_L     ]   };
に変更して
# rm -rf /var/lib/xkb/*
してみましたが効果がありません。
そこで
$ xmodmap -e "remove control = Control_L"
$ xmodmap -e "remove mod4 = Super_L"
$ xmodmap -e "add control = Super_L"
$ xmodmap -e "add mod4 = Control_L"
を実行してみると一瞬うまく行ったように見えるのですが、
どうも[Control]キーを押すとおかしくなります。
状況を
$ xmodmap -pm
で確認すると元に戻ってる…orz
どうもUnityが勝手に書き換えてるっぽいです。

この方法を諦めていろいろ調べていて[gnome-tweak-tool]にたどり着きました。
類似品で[ubuntu-tweak]("# add-apt-repository ppa:tualatrix/next"でインストール可能)
とか[unity-tweak-tool]がありますが、間違えないように。
で、
# apt-get install gnome-tweak-tool
でインストールして[Tweak Tool]を起動し、
[タイピング]分類の[Alt/Winキーの動作]を
"Ctrl is mapped to Win key(a..."に変更することで
[Command]キー(左右ともに)が[Control]キーとして動作するようになりました。
しかし[Command]キーがなくなってしまいます。
まあ[Command]キーを使うのはテキスト入力システムの切り替えぐらいです。
その切り替えにしてもスクリーン右上のテキスト入力アイコンから[テキスト入力設定]を起動し、
[次のソースに切り替え]を"Ctrl+Space"に変更しておけば不都合ありません。
もともとPCのキーボードの[Windows]キー(Macの[Command]キー)は
1990年代に追加されたものなので、互換性を考えればなくても操作に支障はないはずです。
ということでこれで使っていくことにします。

0 件のコメント:

コメントを投稿