2020-10-24に更新

macOSからubuntu 20.04への移行ガイド

# ubuntu

背景

5年ぶりにパソコンを新調して自作PCを買いました. Windows10をいれたもののどうも馴染めず今年リリースされたばかりのUbuntu 20.04 LTSを使うことにしたわけです. Linuxのコマンドラインに慣れるいい機会かなと思います. ちなみに最後のLinuxディストリビューションは修士の頃に使っていたOpenSuseです. Windows VistaにVirtualBoxで入れてた記憶があります.

とはいえほぼ10年以上MacOS/macOSを使っていたのでそちらに寄せつつ快適な環境を模索したと思います.

環境

想定する環境はこんな感じです.

キーボード: Happy Hacking Keyboard Professional HYBRID Type-S
キーボード配列: US配列
キーボード設定: Karabiner-Elements
元OS: macOS Catalina (Mac Mini Late 2014)
新OS: ubuntu 20.04 LT (自作PC)

ポイント

  • 左右のコマンド・キーでの入力ソースの変換を実現する.

UBS

以下を参考にして入れた.

Create a bootable USB stick on Windows

macOSの人はこちら.

後はUSBを指して再起動してブート・メニューをからUSBを選べば良い.

表示言語

基本的に表示は英語にしています. 特に意味はないのですが, 検索を英語ですることが多いので表示が英語の方が探すのが. 楽だなぁと思った次第です. これはインストール中に言語で英語を選択しておけば良いです. ただブラウザとかを表示するには日本語が必須です.

トップ・メニューの左端にActivitiesを選択して検索窓でlangと検索します. Language Setupが表示されるので選択肢します.

image

勝手に読み込みが始まったような気がします.

キーボード・レイアウト

sudo dpkg-reconfigure keyboard-configuration

で設定をする. Happy Hacking Keyboardを選んで残りはデフォルトの設定を使う. 再起動する.

HHKB をUbuntuで使う

日本語入力/Input Method

検索ぐらいは英語でできても文字は日本語が必要です. mozcとfcitxというのを使います.

sudo apt install fcitx fcitx-mozc -y

次にibusという標準の日本語入力システムからfcitexというのに切り替えます. 一番下のkeyboard input method systemをfcitxに変更します.

image

ibusは消しておいても良いようです.

sudo apt purge ibus -y

次にactivitiesからfcitex confg toolを選んで以下のように設定します.

image

MozcをダブルクリックしてKeyboad LayoutをEnglish(US)に変更します.

image

再起動します. 入力メソッドの切り替えは次で紹介します.

Ubuntu 19.10の日本語入力をfcitx-mozcにする

superキーの無効化

ここからが重要という気がします. HHKB Hybridを使っているのですがデフォルトではコマンド・キーを押すとactivitiesが表示されます. これは普通のやり方では変更できません. Settings Shortcutsを確認してもAlt + F1しか確認できません.

image

Useful keyboard shortcutsではSuperが指定されています. gsettingsというcliを使うとこれを無効化できます.

gsettings set org.gnome.mutter overlay-key ``
gsettings get org.gnome.mutter overlay-key

これでコマンド・キーは無害になるのでお気に入りのショートカットを割り当てることができます.

コマンド・キーでの入力メソッドの変換

いわゆる空打ちと言うやつですね. fcitx config toolを再び開きます. Global Configタブを選んで一番下のShow Advanced Optionsにチェックを入れます.

image

するとActivate/Inactivate Input Methodという項目が表示されるので左右のSuperキーを割り当てます.

image

これで変換/無変換をボタン一つで切り替えられるようになりました.

日本語フォントの変更

デフォルトはDejavuとかいうフォント設定になっていた気がします.

gsettings set org.gnome.desktop.interface font-name 'Noto Sans CJK JP 11'

で変更できます.

文字がはみ出るバグに対応する
Linuxだって、綺麗にフォントが表示できるんだからねッ!

あるいはTweaksというアプリから変更できます. こちらの方が便利かもしれません. ActivitiesからTweaksを検索します. TweaksはUbuntu Softwareから導入できます.

image

例えばInterface Textなら右側のフォントの部分をクリックすると,検索・指定画面が表示されますので適当に選択しておきます.

image

適当のNotoというフォントを選択しました. CJK (Chinese Japan Korea)とJPで検索すると出てきます. フォントのことは分からないのでRegularにしておきます.

Open at Login

MacのDockにはOpen at Loginというオプションがあります. Tweaksというソフトを使うと似たような設定ができます. Ubuntu SoftwareからTweaksをインストールします.

image

Tweaksを開いてStart Applicationsに指定します.

image

これでいちいち開き直す必要がなくなる. ただしターミナルのシェルの情報を消えてしまう.

スクリーンショット

こんな記事を書くのにもスクリーンショットは必要である. Macではスクリーンショットは以下のようなショートカットで行える.

コマンド ショートカット
ウィンドウ全体のスクショ Shift + Super + F3
エリアを指定してのスクショ Ctrl + Shift + Super + F3

SettingsのKeyboard Shrotcutsから変更できる.

image

Firefoxのショットカット

パスワードやタブを同期できるのとPocketが便利なのでFirefoxを使っている. コピーがCommand + CとCtrl + Cで違うわけですが変更できないらしいのでCtrlとCommandの押し待ちがいが多発している. もう一つ面倒なのが,

Comand + Shift + [ or ]

でタブの左右移動ができない. Ctrl + PageUp/PageDownやCtrl + tab, Ctrl + Shift + TabでもできるがHHKB HybridではFnキーを押さないとPageUp/PageDownが押せないのでトリッキーな感じになる. 更にCtrl + TabにShiftを加えると何故かリストが表示されるという非対称性もあって面倒くさい. これは設定変更できる. メニューからPreferencesを開く.

image

検索窓にtabを入力して, 表示されたオプションのCtrl+Tab cycles through tabs in recently used orderを無効化する.

image

これでCtrl + Tabで右, Shiftを加えると左に移動できる. これで少しましになった. 同様の設定をMac側でもしておくと混乱を減らせる.

トップ・バーをセカンダリ・モニタにも表示する

プライマリー・モニタにはトップ・バーが表示されますが, セカンダリ・モニタには何も表示されません. gnom-shell extensionsとしてMulti Monitors Add-Onをインストールします. GitHubのリポジトリの通りにやればよいのですが, gnome-shellのバージョンだけは確認しておいたほうが良さそうです.

gnome-shell --version

指示通りの導入したら拡張を有効にします. Extensionsというアプリケーションがインストールされているのでactivitiesから開きましょう.

image

正常に動作していたらExtensionsの一番上にMulti Monitors Add-Onが表示されているはずですので有効にしておきます.

image

Ubuntu 18: Top bar for all monitors

Dockをセカンダリ・モニタにも表示する

こちらはコマンドラインから変更できます.

gsettings set org.gnome.shell.extensions.dash-to-dock multi-monitor true

How do I get the Ubuntu Dock off the secondary monitor?

マウスによる起動を無効にする

家に返っていると勝手にパソコンが起動していたということがある. これを無効にする.

Ubuntuをスリープさせても、マウスが動いただけで復帰してしまう件

USB3はXHC0なので以下のようなスクリプトをrc.localに追加すれば良い.

#!/bin/zsh

# XHC0
r=`cat /proc/acpi/wakeup | grep "XHC0\s*\w\+\s*\*enabled"`
if [ -n "$r" ] ; then
    # echo XHC0 > /proc/acpi/wakeup
    echo $r
fi

あるいは以下の方法もある.

Ubuntu: Disable mouse wake from suspend

こっちのほうが良い気もするが, 文字列の加工とかが分からないので今回はこれまで.

ubuntu 18.04 で rc.local を使う
How to enable /etc/rc.local with SystemD on Ubuntu 20.04
How can I make /etc/rc.local run on startup?
How do I prevent mouse movement from waking up a suspended computer?

ペン型入力デバイスを一つのスクリーンに制限する

xrandrでモニタの情報を取得する. DPI-0とかHDMI-0など接続されている液タブを確認する. xinputでペン型入力デバイス(ペン)のidを取得する.

これを以下のようにマッピングする.

xinput map-to-output 14 HDMI-0

これでペンはHDMI-0端子に接続されたモニターだけで利用できる.

Lock the mouse cursor to one screen in Linux / Ubuntu
Limit a graphics tablet to one monitor

xinputの設定ファイルがどこなのか調査中.

セカンダリ・モニタをポートレイト表示する

現在調査中

Can't rotate monitor on 20.04

Change the resolution or orientation of the screen
Rotate only one screen
Is there any ability to set my primary monitor?
rotated monitor. login screen needs rotation

補足

ターミナルの起動

Ctrl + Alt + Tでターミナルを開けます. 結構便利です.

偶発的な発見

仮想コンソールへの切り替えが突然起きて慌てた. ctrl + alt + f3で仮想コンソールへ切り替えられるらしい. 戻るにはctrl + alt + f2で戻れた.

How do I switch between Console mode and GUI in Ubuntu 18.04?

ツイッターでシェア
みんなに共有、忘れないようにメモ

ブレイン

Androidアプリ開発者を目指しています. 興味あることリスト: https://t.co/ew3bb6grdJ Github: https://t.co/9btqysHqWr Qiita: https://t.co/ZVRhjouauX

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント