こんにちは。ナミレリです。2012年モデルのMacBook Air (13-inch, Mid 2012)を蘇らせるべく最新のUbuntuである22.04LTSをインストールし普通に使えるまでの設定をしていく、今回は【トラックパッド編】としてMacBook AirのトラックパッドをUbuntu22.04でMacなみに使えるようにしていきます。
また、MacBook AirでUbuntuを快適に使うをテーマにした記事はこれまでに下記の記事がありますのでぜひ合わせてご覧ください。
1.インストール編→2.日本語入力編→3.初期設定編→4.デスクトップカスタマイズ編→5.command+c、command+vでコピペ編と記事を書いてきました。
- STEP
Ubuntuのインストール編
- STEP
Ubuntuの日本語入力編
- STEP
Ubuntuの初期設定編
- STEP
Ubuntuのデスクトップカスタマイズ編
- STEP
Ubuntuでcommand+c、command+vでコピペ編
- STEP
トラックパッドをMacなみに使えるようにする
MacBook Air (13-inch, Mid 2012)
Ubuntu22.04LTS
Parallels Desktop 20 for Macの無料トライアル もありますので、ぜひダウンロードして試してみてください。M1/M2/M3のMac上で快適にMacやUbuntu、Windowsが動作します。目次
はじめに:libinput-gesturesとは?
この記事ではMacのトラックパッドジェスチャーの使い勝手に可能な限り近づけるためにlibinput-gesturesを使ってみます。libinput-gesturesの開発者が実現したかったことは、トリプルスワイプのアップ/ダウンを使用してワークスペースを切り替え、トリプルスワイプを使用してブラウザで後方/前方に移動すること、だったそうです。これが開発の動機だったようです。
従って、ibinput-gesturesは3本指または4本指のジェスチャーを設定することができるソフトウェアです。libinput-gesturesは1本指、2本指のジェスチャーは設定することはできません。1本指と2本指のジェスチャーはubuntu22.04のデフォルトの状態でほぼ不都合はないので、3本指と4本指のジェスチャー設定のために、libinput-gesturesを使っていきます。
libinput-gesturesで出来ること
libinput-gesturesで出来ることは、3本指スワイプで9種類、4本指スワイプで9種類、ピンチで4種類で合計22のジェスチャーとなると思います。ubuntu22.04で4本指スワイプが可能になれば普段使いのモチベが上がりますね。
3本指スワイプ |
---|
up |
down |
left |
right |
left_up |
left_down |
right_up |
right_down |
hold on |
4本指スワイプ |
---|
up |
down |
left |
right |
left_up |
left_down |
right_up |
right_down |
hold on |
ピンチ |
---|
in |
out |
clockwise(時計回り) |
anticlockwise(反時計回り) |
Macのトラックパッドジェスチャーとlibinput-gesturesで今回やりたいことのまとめ
デフォルト状態のMacのトラックパッドジェスチャーとlibinput-gesturesで今回やりたいことをまとめました。赤線の下記の4点を設定することが今回の目標です。この4点がUbuntuで使えるようになれば普段使いにおいてほとんどストレスなく使うことができると思います。
トラックパッド ジェスチャー | Macでの動作 (設定している動作) | libinput-gestures でやりたいこと |
---|---|---|
1本指でタップ | タップでクリック | |
2本指でタップ | 右クリック | |
2本指でピンチ | 拡大/縮小 | |
2本指でダブルタップ | スマートズーム | |
2本指で回転 | 回転 | |
2本指で左右にスクロール | ページ間をスワイプ | |
4本指で左右にスワイプ | フルスクリーンアプリケーション間 をスワイプ | ワークスペースを 切り替えるように |
2本指で右端から左へスワイプ | 通知センターを表示 | |
4本指で上にスワイプ | ミッションコントロール | 開いているアプリを 一覧表示するように |
4本指で下にスワイプ | アプリケーションExpose | そのアプリを 一覧表示するように |
親指と3本指でピンチイン | Launchpad | 全てのアプリを表示 するように |
親指と3本指でピンチアウト | デスクトップを表示 | デスクトップを 表示するように |
3本指のドラッグ | アイテムをドラッグする |
それでは早速、libinput-gesturesをインストールし設定していきます。
libinput-gesturesのインストール
事前準備:inputグループに追加
タッチパッドデバイスを読み取る権限を持つには、下記のコマンドでinputグループに自分自身を追加します。
sudo gpasswd -a $USER input
grep input /etc/group
input:x:107:ubuntu-user
事前準備:再起動する
inputグループに自分自身を追加したら、一旦再起動します。
sudo shutdown -r now
事前準備:wmctrlとxdotoolのインストール
wmctrlは、Xのウィンドウを制御するためソフトウェアです。例えばデスクトップを一覧表示したり、すべてのウィンドウを一覧表示したり、ウィンドウを移動したりサイズ変更できたりします。
xdotoolは、マウスやキーボードのアクションをエミュレートするソフトウェアです。man xdotoolによると「command-line X11 automation tool」と表示されるだけあって、主に自動化に活用できるソフトウェアです。
この2つのソフトウェアとlibinput-toolsをaptでインストールします。
sudo apt update
sudo apt upgrade
sudo apt install wmctrl xdotool
sudo apt install libinput-tools
libinput-gesturesのインストール
ホームディレクトリにgitでソースコードを取得し、make installします。
cd $HOME
git clone https://github.com/bulletmark/libinput-gestures.git
cd libinput-gestures
sudo make install
'libinput-gestures-setup' -> '/usr/bin/libinput-gestures-setup'
'libinput-gestures' -> '/usr/bin/libinput-gestures'
'libinput-gestures.service' -> '/usr/lib/systemd/user/libinput-gestures.service'
'libinput-gestures.desktop' -> '/usr/share/applications/libinput-gestures.desktop'
'libinput-gestures.svg' -> '/usr/share/icons/hicolor/128x128/apps/libinput-gestures.svg'
'libinput-gestures.conf' -> '/etc/libinput-gestures.conf'
install: ディレクトリ '/usr/share/doc/libinput-gestures' を作成しています
'README.md' -> '/usr/share/doc/libinput-gestures/README.md'
gtk-update-icon-cache: Cache file created successfully.
起動と自動起動ONのコマンド
libinput-gestures-setup autostart start
#上記コマンドで起動します。
libinput-gestures-setup autostart
#上記コマンドで次回以降のログインで自動起動します。
停止と自動起動OFFのコマンド
libinput-gestures-setup stop
#上記コマンドで停止します。
libinput-gestures-setup autostop
#上記コマンドで次回以降のログインで自動起動をOFFにします。
libinput-gesturesの再起動とステータス確認
libinput-gestures-setup restart
#上記コマンドでlibinput-gesturesが再起動します。(設定ファイルの再読込時に使います)
libinput-gestures-setup status
#上記コマンドでlibinput-gesturesの起動状態等のステータスを確認できます。
libinput-gesturesの設定ファイルについて
/etc/libinput-gestures.confに設定ファイルがありますので、~/.config/libinput-gestures.confにコピーしこのファイルを編集し設定をカスタマイズします。~/.config/libinput-gestures.confの設定内容が優先されます。
今回はデフォルトの設定は一旦破棄して、シンプルにやりたいジェスチャーのみを設定していきますので、空の~/.config/libinput-gestures.confを作っておきます。
touch ~/.config/libinput-gestures.conf
やりたいことと具体策
libinput-gesturesでやりたいことのおさらいです。このやりたいことに対してどのように設定するかの具体策をまとめていきます。結論から先にお伝えすると3番の「そのアプリを一覧表示する」は実現できませんでした。5番は実現できますが使い勝手はいまいちです・・・。
番号 | トラックパッドジェスチャー | libinput-gesturesでやりたいこと |
---|---|---|
1 | 4本指で左右にスワイプ | ワークスペースを切り替える |
2 | 4本指で上にスワイプ | 開いているアプリを一覧表示する |
3 | 4本指で下にスワイプ | そのアプリを一覧表示する |
4 | 親指と3本指でピンチイン | 全てのアプリを表示する |
5 | 親指と3本指でピンチアウト | デスクトップを表示する |
【1】4本指で左右にスワイプ→ワークスペースを切り替える
設定ファイルにおける[internal]はwmctrlを呼び出して使っている内部コマンドです。
4本指で左にスワイプするとワークスペースが右に移動し(例えばワークスペース1から2へ)、4本指で右にスワイプするとワークスペースが左に移動(ワークスペースを2から1へ)するように設定します。
vi ~/.config/libinput-gestures.conf
gesture swipe left 4 _internal ws_up
gesture swipe right 4 _internal ws_down
パラメータ | 意味 |
---|---|
swipe | スワイプジェスチャーを指定 |
left | 左にスワイプされた場合、 |
4 | かつ、4本指でスワイプされた場合、 |
_internal ws_up | wmctrlを使用し次のワークスペースを移動する |
libinput-gesturesが再起動し動作を確認してください。libinput-gesturesを再起動するのは下記のコマンドです。
libinput-gestures-setup restart
#libinput-gesturesを再起動し設定ファイルを再読込します
【2】4本指で上にスワイプ→開いているアプリを一覧表示する
Ubuntuのキーボードショートカットに用意されている「アクティビティ画面を表示する」を「4本指で上にスワイプ」に割り当て目的を実現してみます。
Ubuntuのアクティビティ画面はこんな画面です。
アクティビティ画面を表示する、のキーボードショートカットを変更する
[設定]→[キーボード]→[ショートカットの表示とカスタマイズ]をクリックします。
[キーボードショートカット]ウィンドウの[システム]をクリックすると下記画面になります。
上記の変更理由は下記の記事で記載していますが、commandをcontrolに変更しているため、commandを使う主要なショートカットキーをoptionに変更してるためです。
それでは、4本指で上にスワイプした時に、このAlt(option) + Sの動作である[アクティビティ画面を表示する]が実行されるように設定します。
vi ~/.config/libinput-gestures.conf
gesture swipe up 4 xdotool key alt+s
libinput-gestures-setup restart
#libinput-gesturesを再起動し設定ファイルを再読込します
パラメータ | 意味 |
---|---|
swipe | スワイプジェスチャーを指定 |
up | 上にスワイプされた場合、 |
4 | かつ、4本指でスワイプされた場合、 |
alt+s | alt+sを実行する |
設定後、libinput-gesturesが再起動し動作を確認します。
【3】(実現できていない)4本指で下にスワイプ→そのアプリを一覧表示する
「4本指で下にスワイプ→そのアプリを一覧表示する」は結論から先にお伝えすると実現することができていません。当初はMacのアプリケーションウィンドウを表示する、のようにはできなくても、下の画像のように「アクティブなアプリケーション内のウィンドウを切り替える」のショートカットキーを割り当てることで実現しようと思っていました。
アクティブなアプリケーション内のウィンドウを切り替えるのショートカットキーはAlt(option)+TABに設定しているのでswipe downに設定しましたが、結果は単にウィンドウがスイッチするだけで、上記画像のようにアプリケーション内のウィンドウを一覧表示することはできませんでした。Alt(option)を押している状態を作ることができれば出来そうですが、libinput-gesturesやxdotoolではそういった設定項目がありませんでした。
When multiple windows of the same app are opened (even if some are minimised) clicking on an app icon in the dock now presents a dynamic overview of rather than, as before, a near-dock pop-over of window thumbnails. It’s a subtle UX tweak that, I find, is far more in keeping with the way the way the rest of the desktop behaves.
https://www.omgubuntu.co.uk/2022/08/ubuntu-22-10-release-new-features
【4】親指と3本指でピンチイン→全てのアプリを表示する
気を取り直して親指と3本指でピンチイン→全てのアプリを表示するを実現してみます。Ubuntuのキーボードショートカットに用意されている「すべてのアプリケーションを表示する」を「ピンチイン」に割り当てトライしてみます。
すべてのアプリケーションを表示する、のキーボードショートカットを変更する
[設定]→[キーボード]→[ショートカットの表示とカスタマイズ]をクリックします。
[キーボードショートカット]ウィンドウの[システム]をクリックすると下記画面になります。
上の画像ではすべてのアプリケーションを表示する、にAlt + Aを割り当てています。
それでは、ピンチインした時に、このAlt(option) + Aの動作である[すべてのアプリケーションを表示する]が実行されるように設定します。
vi ~/.config/libinput-gestures.conf
gesture pinch in xdotool key alt+a
libinput-gestures-setup restart
#libinput-gesturesを再起動し設定ファイルを再読込します
パラメータ | 意味 |
---|---|
pinch | ピンチジェスチャーを指定 |
in | ピンチインの場合、 |
alt+a | alt+aを実行する |
設定後、libinput-gesturesが再起動し動作を確認します。
【5】親指と3本指でピンチアウト→デスクトップを表示する
Ubuntuのキーボードショートカットに用意されている「すべての通常のウィンドウを隠す」を「ピンチアウト」に割り当て目的を実現してみます。
すべての通常のウィンドウを隠す、のキーボードショートカットを変更する
[設定]→[キーボード]→[ショートカットの表示とカスタマイズ]をクリックします。
[キーボードショートカット]ウィンドウの[ナビゲーション]をクリックすると下記画面になります。
上の画像ではすべてのアプリケーションを表示する、にCtrl + Alt + Dを割り当てています。
それでは、ピンチアウトした時に、このCtrl + Alt + Dの動作である[すべての通常のウィンドウを隠す]が実行されるように設定します。
vi ~/.config/libinput-gestures.conf
gesture pinch out xdotool key alt+control+d
libinput-gestures-setup restart
#libinput-gesturesを再起動し設定ファイルを再読込します
パラメータ | 意味 |
---|---|
pinch | ピンチジェスチャーを指定 |
out | ピンチアウトの場合、 |
alt+control+d | alt+control+dを実行する |
設定後、libinput-gesturesが再起動し動作を確認します。
最後に
最後まで読んでいただきありがとうございます。今回の【Linux】Ubuntu22.04でMacBookのトラックパッドをMacなみに使えるようにする(libinput-gestures)はいかがでしたでしょうか。
「4本指で下にスワイプ」で「そのアプリを一覧表示する」ことが実現できませんでしたが、gnome-extensionsや次期Ubuntuでそういった機能が追加されることを期待もします。
この記事がみなさんのMacとLinuxライフに少しでもお役に立てたら幸いです。
MacやLinux、Pythonなど技術系のkindle本も豊富にあります。詳しくはこちらから。
Amazonの電子書籍読み放題サービス「Kindle Unlimited」でプライム会員を対象に、最初の3か月間を無料体験できるキャンペーンを実施中。マンガ、小説、ビジネス書、雑誌など500万冊から、好きな本を何冊でも読めるキャンペーンです。
初めてkindle unlimited 読み放題をご利用の方は30日間の無料で体験できます。
期間終了後は月額980円で、いつでもキャンセルできます。
200万冊以上が読み放題。お好きな端末で利用可能です。
【特集】快適なデスクトップ環境を構築する