ubuntu desktop 22.04 初期設定

# はじめに

ubuntu 22.04LTS desktopをインストールしたので、その備忘録です。　　
からあげさんの記事[Ubuntuをちょっと使いやすくする設定集](https://qiita.com/karaage0703/items/705f1b750c486f00d554)が基本になりますが、自分向けの内容を補足しました。  
snap版のアプリはつまづくところが多いです。

# 環境

- win10とlinuxのダブルブート(ストレージは別々)
- linux: ubuntu desktop 22.04
- マシン: ASUS BX310U corei5-7200U 2.5GHz
- keyboard: US


# 内容

## linuxをインストールするとwinでの時刻がずれてしまう

windowsの環境があるマシン上にubuntuのストレージが追加されるとwindowsでの時刻表示がずれてしまいます。  
対策は、linux上で以下コマンドを実行します。

```sh
$ sudo hwclock --verbose --systohc --localtime
```

詳細説明は以下サイトを参考です。
- [hwclockコマンドでLinuxとWindowsの時刻のズレを修正する方法](https://ubiqlog.com/archives/11842#:~:text=Windows%E3%83%9E%E3%82%B7%E3%83%B3%E3%81%ABDebian%E3%82%84,%E3%81%84%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E8%B5%B7%E3%81%93%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82)
- [デュアルブート時のLinuxとWindowsの時刻ズレを解消する](https://dlrecord.hatenablog.com/entry/2020/06/13/112553)

サイト[^4]によっては以下コマンドで実行するとありますが、違いはよくわかりません。
私は実行してないです。

```shell
$ timedatectl set-local-rtc true
```

## visual studio code のインストール

[からあげさんの記事](https://qiita.com/karaage0703/items/705f1b750c486f00d554#vs-code)そのままの方法でやります。　　
簡単・早い、感謝です。
snap版は日本語入力できないためです。

## zoom のインストール

vscodeと同じくdebパッケージでインストールします。  
debパッケージのダウンロード: [zoom deb download](https://zoom.us/download?os=linux)  
インストール方法:

```
$ sudo dpkg -i ~/Downloads/zoom_amd64.deb
```

依存関係のエラーが出る場合は、`sudo apt install`で事前にインストールします。

## 日本語入力のインストール

こちらの記事[Ubuntu 22.04 LTSで日本語入力 (iBus – Mozc, Fcitx – Mozc)](https://hirooka.pro/ubuntu-22-04-lts-japanese-input-ibus-fcitx-mozc/)に従って設定します。[^3]  
2点補足。
- 今はfcitxは`fcitx5`をインストールするのがいいようです。
- fcitx5のインストール後は、ログアウトではなくマシンの再起動がいいと思います。

しかしそれでも日本語設定(fcitx-mozc)ではまってしまったので、私の対処法を以下に記します。  
不思議なことに、2台(デスクトップ機1台,ノート機1台)にほぼ同時にインストールしましたが、片方(デスクトップ機)は問題なし、もう片方(ノート機)は以下のように問題が発生しました。両者の違いがどこから来るのかは不明です。

2つの問題が同時発生してました。

1. fcitxインストール後も日本語設定(fcitx-mozc使用が前提)でタスクバーに"A"(Mozc)としが表示されず、キーボードアイコン(fcitx)が表示されない。  
    - 原因: fcitxが起動していなかった。私の場合は自動起動するはずが、自動起動しない。
    - 解決策:  fcitxが自動起動する設定を追加します。  
      アプリアイコンの中から`Application Startup Preferences`をみつけて起動し、新規項目を追加し、コマンド内容を`fcitx5 &`とします。[^1]logoutしてからloginすると、fcitxが自動起動してくれます(キーボードアイコンが表示される。ただしなぜかmozcの"A"アイコンは表示されない)。
      これでブラウザ以外のターミナル上などではfcitx+mozcによる日本語入力およびctrl+spaceにより入力言語切り替えができるようになりました。
      あと、参考情報としては、  
      - fcitx関連の状態の分析には[`fcitx5-diagnose`](https://forums.ubuntulinux.jp/viewtopic.php?pid=124157)が使えて、不具合原因の手がかりがつかめそうです。  
      - ~~`XMODIFIER`などの[環境変数の設定](https://teokure.net/technology/fcitx/)はしていません。[^6]~~
        (2022.10.09追記ここから）
        と書いてましたが、やっぱり環境変数設定は必要なようです。
        何らかのタイミング（おそらくbash-->zshへの切り替えか)で、input methodが使えなくなりました。なぜかibusが動いてたみたいです。
        以下の手順で変更しました（いろいろやったので、他にももしかしてあるかも）。
        * fcitx-->fcitx5へ変更
        * `im-config -n fcitx5`を実行
        * fcitx configuration(GUIアプリ)でmoczを登録
        * 環境変数の設定: `/etc/environment`に以下を追記[^21]
             ```:/etc/environment
             GTK_IM_MODULE=fcitx
             QT_IM_MODULE=fcitx
             XMODIFIERS=@im=fcitx
             ```
        * logout/login
        (2022.10.09追記ここまで)
      - タスクバー上に"A"のアイコンが表示されている = mozcは使えている意。
      - タスクバー上にキーボードのアイコンが表示されている = fcitxが起動している意。

[^21]: マシン起動時自動読み込みの環境変数の設定は[いろいろある](https://rainbow-engine.com/linux-envvar-permanent/)ようですが、wayland環境にてシェル起動前にfcitx5を起動させるには[/etc/environmentに書くのがいい](https://wiki.archlinux.jp/index.php/Fcitx)ようです。ただし全マシン上の全ユーザーに適用されるようです。

1. Firefoxで日本語が入力できない。
    - 症状: Firefox上で日本語入力が不可能。タスクバー上のキーボードアイコン(fcitx)は表示されている。ターミナルなど他のアプリでは日本語入力可能。
    - 原因: デフォルトでインストールされているFirefox(snap版)が原因のようです[^2] (2022年8月時点)。ちなみにsnap版のchromiumでも日本語入力はできませんでした。
    - 解決策: snap版からオフィシャルバイナリ版Firefoxに切り替える。  
        * snap版Firefoxのアンインストールする。ubuntuSoftware上でのGUI操作でアンインストール。
        * [オフィシャルバイナリ版Firefox](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0710#sec3)に準備いただいているスクリプトを使ってインストールする。
            * テキストエディタを使って、スクリプトを`firefox-downloader.sh`として作成する。
            * 実行権限を与えてから実行する。
    記事にはsnap版Firefoxを実行する前にバイナリ版Firefoxダウンロード・インストールを実行するようにありましたが、私の場合はsnap版(デフォルトインストール)を動作させたあとに、上記作業を実行して特に問題ありませんでした。
    ```sh
    # サイトからコードをコピーしてきて、firefox-downloader.shを作成。
    $ chmod u+x firefox-downloader.sh
    $ ./firefox-downloader.sh
    ```

## 設定ではないですが...

### ウィンドウのサイズ変更と移動のショートカット

- ウィンドウの移動: [alt] + F7 --> 矢印キーで調整 --> enterで確定
- ウィンドウのサイズ変更: [alt] + F8 --> 矢印キーで調整 --> enterで確定

[参考](https://help.ubuntu.com/stable/ubuntu-help/shell-windows-states.html.ja)  
矢印キーでの調整の箇所では、shiftやctrlキーを同時に使えば変化が早くなったり遅くなったりします。
enterで確定の箇所では、確定前にescキーで元の状態に戻せます。
こういう操作のときはマウスを使ってもいいのですが、ウィンドウの端をつかむのが非常に困難なので、こういうショートカットが役に立ちます。

## 個人の好み

### terminalの細かい設定

私は以下のように設定しました。

- background colour:  #002B36
- font:  DejaVu Sans Mono #12

### 日時・時刻フォーマット

`settings` --> `Region & Language` --> `Formats`  
プルダウンメニューから`South Africa`を選択。

[^1]: 通常のfcitxでも大丈夫と思いますが、[Ubuntu 21.10でFcitx 5を使用する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0689)の記事から`fcitx5`をインストールしました。

[^2]: 参考: [Firefoxを含むsnapパッケージとの付き合い方](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0714)

[^3]: 1.iBusに設定。`Settings`--> `Regions&Language` --> `Manage Installed Languages` --> `Keyboard input method system`で`iBus`を選択。
    2. logout --> 再login で、タスクバー上に"A"が表示される。[Win]+[Space]でkeyboard-English(US)とMozcの切り替え可能。
    3. fcitx5インストール。 `sudo apt install fcitx5-mozc -y` のあとにマシン再起動。
    4. fcitx5に切り替え。`Settings`--> `Regions&Language` --> `Manage Installed Languages` --> `Keyboard input method system`で`fcitx5`を選択。
    5. logout & 再login.
    6. アプリアイコンから`fcitx5 configuration`を選択し起動して、keyboard-English(US)の下にmozcを追加。

[^4]: 例: [Ubuntu 22.04 LTS "Jammy Jellyfish" 〜Gnome 42搭載・・エンハンス項目は？？](https://www.linux-setting.tokyo/2022/04/ubuntu-2204-lts-jammy-jellyfish-gnome.html#google_vignette)

[^6]: ubuntuではないですが、同じdebian系のantiX21でも日本語入力ツール(fcitx5)のインストールがうまく行かず、結局起動後にターミナルを開いて`fcitx5 &`を実行しています。ここでも不具合調査時に`fcitx5-diagnoze`コマンドが役に立ちました。このantiX21では、以下の環境変数を設定しています(desktop-session.confというファイルに書き込んでいます)。ここでのミソは変数の値をfcitx5とせずに、fcitxとすることです。
    ```
    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
    export XMODIFIERS=@im=fcitx
    export DefaultIMModule=fcitx
    ```