0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Manajroを快適に仕上げる方法

Posted at

はじめに

前回は無味無臭のManjaro/Archのセットアップ記事を出したが、今回は私の流儀で「Linuxデスクトップを使いやすくする」話をしていく。

今回もQiitaなので説明は少なめだ。

また、好みに寄せるためには元の状態との差分が重要になるため、今回はManjaro Cinnamonありきで説明する。

ホスト数に関してはどういう構成であるかで最適が異なってくるが、今回はQiitaに適した文量の問題で複数ホストを活用する話はしない。

また、前回の記事における推奨事項は全て取り入れているものとする。

XDGユーザーデスクトップ

こちらは前回の記事で説明した内容だが

XDG_DESKTOP_DIR="$HOME/dt"
XDG_DOWNLOAD_DIR="$HOME/dl"
XDG_TEMPLATES_DIR="$HOME/tpl"
XDG_PUBLICSHARE_DIR="$HOME/pub"
XDG_DOCUMENTS_DIR="$HOME/d"
XDG_MUSIC_DIR="$HOME/m"
XDG_PICTURES_DIR="$HOME/p"
XDG_VIDEOS_DIR="$HOME/v"

を採用しているとする。
また、

Downloads -> dl

のシンボリックリンクも張っておくこと。

また下準備として、

mkdir ~/{.local/state,config}/reasonset ~/.local/{bin,opt}

してXDG関連ディレクトリを作っておく。

ウェブブラウザ

アプリ導入

まず先に言っておくと、google-chrome*パッケージとbrave-*パッケージはシステムを汚染する度合いが非常に強いので、私は推奨しない。
ものの良し悪しの問題ではなく、ユーザー設定を上書きしたりするので、システム管理が非常にめんどくさくなる。

私がよく使っているのはこれら:

  • Vivaldi (Manjaro/extra vivaldi)
  • LibreWolf (公式AppImage)
  • Waterfox (公式tar)

LibreWolfの場合はAppImageのファイル名にバージョンが含まれていないので、ダウンロードして普通に

mv ~/dl/LibreWolf.x86_64.AppImage ~/.local/opt/
sudo chmod 755 ~/.local/opt/LibreWolf.x86_64.AppImage
ln -s ~/.local/opt/LibreWolf.x86_64.AppImage ~/.local/bin/librewolf

とすれば良い。

システムワイドにしてしまうなら、~/.local/optではなく/usr/local/optを、~/.local/binではなく/usr/local/binを使えば良い。

2回目以降は単にlnは必要ないが、アップデートは自分でダウンロードしてくる必要があるのをお忘れなく。

Waterfoxのほうはブラウザもちの自動アップデートが効く。
公式からtarをダウンロードし、~/.local/opt以下に展開してlnしておくだけ。

これら以外を使うことは結構稀だけれど、FirefoxとChromiumは入れておくと便利なことはある。

My Browser Profile Chooser

前回の記事のとおり

cd ~/local/opt
git clone https://github.com/reasonset/my-browser-profile-chooser.git
ln -s ~/.local/opt/my-browser-profile-chooser/web ~/.local/bin/
ln -s ~/.local/opt/my-browser-profile-chooser/web.desktop ~/.local/share/applications/

とやって準備しておく。

実際に利用する手順だが、例えばX.com用のプロファイルをtwという名前で作りたいとする。
~/.config/reasonset/browserprofilesに書くのだが、Vivaldiなら

Profiles:
  tw: {type: viv}

と書くだけでいい。

Chromium系ブラウザの場合はプロファイルは~/.config/reasonset/browsers/$profile_nameに作られるのだが、あらかじめ

mkdir ~/.config/reasonset/browsers

しておく必要はある。
Vivaldiは初期設定がそれなりに面倒、かつアップデートごとに設定更新したかったりするので、私は_vivaldi_baseというプロファイルを用意して定期的に更新し、テンプレートとして使っている。

Firefox系の場合はプロファイル名に連動しているので、初回起動時はプロファイルがないということでプロファイル管理画面が出る。
そこでMy Browser Profile Chooserと同じプロファイル名を持つプロファイルを作れば、次回以降は自動で起動できる。

基本的な運用としては、X.com用のプロファイルはX.comにログインし、"ホームページ"をX.comに設定した状態にする。
同プロファイル上で利用するのは、X.comアカウントでログインするものだけに限る。

こういった運用により、一発で目的のものを開けて、単一のアカウントに閉じた安全な環境で運用できる。

もし、googleプロファイルでgoogleにログインしているが、GMailやYouTubeも一発で開きたいなら

Profiles:
  google: {type: gch}
  gmail: {type: gch, pstr: google, opts: [https://gmail.com/]}
  youtube: {type: gch, pstr: google, opts: [https://youtube.com/]}

のように設定すると良い。
これで、web youtubeで一発である。

関連付け

概念

Cinnamonデスクトップでは(というか一般的にLinuxデスクトップでは)mimeタイプベースで.desktopファイルを関連づけることができる。
.desktopファイルは/usr/share/applications~/.local/share/applicationsにある。

ファイル種別の判定は基本的にはファイルの内容をもとに判定されているのだけど、一発で確実に判定できるようなものではないファイルは拡張子で判定されたりする。

ごく一部は "設定→お気に入りのアプリ" から設定することができるけれど、これは本当に一部に限られる。
とりあえずウェブはMy Browser Profile Chooserである "Web Browser(s)" に設定しておこう。

それ以外に関しては、Nemoの右クリックから "別のプログラムで開く→別のプログラム" とすると.desktopエンティティの一覧が出るので、選択して「一覧に追加」や「既定のプログラムにする」を選ぶことで使えるようになる。

関連付ける

私の中で結構重要だと思っているのは以下

  • 画像はすべてViewniorに関連づける (WebP, AVIF, HEIF, JPEG XLなども)
  • 動画・音声ファイルはすべてmpvに関連づける
  • plain textはLeafpad(もしくはL3afpad)に関連づける
  • プログラミング関連のファイルはXedかMousepad, Featherpadあたりに関連づける

Viewniorは単体画像を表示するのに非常に適しているので、ダブルクリックで使って欲しいアプリ。
WebPサポートはwebp-pixbuf-loaderが必要。AVIFはlibavifで、HEIFはlibheifでいい。

mpvも単体ファイルで開きたい場合に最適。
開ける確実性が高く、qキーですぐ終了できるのも良い。

LeafpadはShift JISを自動判定する機能があるため、plain text用にしておくと大変便利。

ソースコードやJSONなどを開くときにCodeが立ち上がるとめんどくさいのでさっと開けるようにプログラミング向きで軽いエディタを使いたい。
私は場合によって使い分けているけれど、Xedを使っていることが多い。

フォント関連

基本セット

とりあえず入れておきたいのは以下

  • 日本語フォント
    • 源ノ角ゴシック (adobe-source-han-sans-jp-fonts)
    • 源ノ明朝 (adobe-source-han-serif-jp-fonts)
    • Zen Fonts
    • クレーOne
  • 日本語デュアルスペース
    • M PLUS Fonts (Google Fonts版)
  • モノスペース
    • Hermit (otf-hermit)
    • Courier Prime Code
  • Nerdフォント (powerlevel10k用)
    • Meslo Nerd Font (ttf-meslo-nerd-font-powerlevel10k)

絵文字フォントもひとつだけ入れておきたい。
特にこだわりがなければextraにあるnoto-fonts-emojiで良い。

emoji fontで探すとAURにはかなりいろいろある。
私はttf-twemojiを使っている。

FontConfig

~/.config/fontconfig/conf.d/以下にfoo.confみたいな感じで置く。

まず私のベースの設定はこれ

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit name="antialias" mode="assign">
      <bool>true</bool>
    </edit>
  </match>
  <match target="font">
    <edit name="lcdfilter" mode="assign">
      <const>lcddefault</const>
    </edit>
  </match>
  <match target="font">
    <edit name="embeddedbitmap" mode="assign">
      <bool>false</bool>
    </edit>
  </match>
  <match target="font">
    <edit name="hinting" mode="assign">
      <bool>true</bool>
    </edit>
  </match>
  <match target="font">
    <edit name="autohint" mode="assign">
      <bool>false</bool>
    </edit>
  </match>
  <match target="font">
    <edit name="hintstyle" mode="assign">
      <const>hintnone</const>
    </edit>
  </match>
  <match target="font">
    <edit name="rgba" mode="assign">
      <const>rgb</const>
    </edit>
  </match>
</fontconfig>

sans-serifmonospaceなど、論理フォントに使って欲しいものを列挙する。
注意点として、ウェブブラウザはFontConfigが返すフォントのうち1番目のものしか使わないため、sans-serifの1番目に欧文フォントを返すようにしていると日本語が表示されなくなったりすることがある。

通常はグリフが埋まらなければ次の候補を使うため、欧文フォント優先で書いておくと好きな欧文フォントと和文フォントを組み合わせて使えたりする。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <!-- Default sans-serif font -->
  <match target="pattern">
    <test qual="any" name="family"><string>sans-serif</string></test>
    <edit name="family" mode="prepend" binding="same">
      <string>SF Pro Display</string>
      <string>Fira Sans Condensed</string>
      <string>Dosis Medium</string>
      <string>A-OTF Shin Go Pr6</string>
      <string>Hiragino UD Sans F Std</string>
      <string>TBUDGothic Std R</string>
      <string>Kosugi</string>
      <string>IPAPGothic</string>
      <string>M PLUS 2</string>
    </edit>
  </match>
  <match target="pattern">
    <test qual="any" name="family"><string>serif</string></test>
    <edit name="family" mode="prepend" binding="same">
      <string>Josefin Slab</string>
      <string>Hiragino UD Serif StdN</string>
      <string>TBUDMincho Std</string>
      <string>GenEi Koburi Mincho v5</string>
      <string>Source Han Serif JP</string>
    </edit>
  </match>
  <match target="pattern">
    <test qual="any" name="family"><string>monospace</string></test>
    <edit name="family" mode="prepend" binding="same">
      <string>Hermit</string>
      <string>Input Mono Narrow</string>
      <string>Courier Prime Code</string>
      <string>Overpass Mono</string>
      <string>Fira Code</string>
      <string>M PLUS 1 Code</string>
      <string>Source Han Mono</string>
    </edit>
  </match>

  <!-- Japanese Default -->
  <match target="scan">
    <test name="lang">
      <string>ja-jp</string>
    </test>
    <test name="family">
      <string>Kosugi</string>
    </test>
  </match>
  <default>
    <family>Kosugi</family>
  </default>
</fontconfig>

重要なのがDroid Sans対策。
Droid SansはCJK網羅するフォントで、日本語で使う文字も中国語優先になっているから表示に違和感があることがある。
しかも、サイト側でDroid Sansを指定されているために、手元にインストールされている日本語フォントを無視して表示されてしまうことも多い。

ttf-droidを消してしまってもいいのだが、そうすると中国語に遭遇したときに豆腐になるとかいう問題が発生するし、別のフォントを入れて網羅するのも大変なので

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <!-- Default sans-serif font -->
  <match target="pattern">
    <test qual="any" name="family"><string>Droid Sans</string></test>
    <edit name="family" mode="prepend" binding="strong">
      <string>M PLUS 2</string>
    </edit>
  </match>
  <match target="pattern">
    <test qual="any" name="family"><string>Droid Sans Fallback</string></test>
    <edit name="family" mode="prepend" binding="strong">
      <string>M PLUS 2</string>
    </edit>
  </match>
</fontconfig>

みたいにしている。
詳しくはDroid Sans Fallbackフォントのせいで日本語が中華漢字で表示される問題を直すを参照のこと。

Nemo Actions

Nemo ActionsはNemoで右クリックしたときに表示するコンテストメニューになっており、色々実行したりできる。
超便利なもの。

~/.local/share/nemo/actions以下に置く。

私がよく使うやつだと、

「このディレクトリ以下をmpvで再生」

[Nemo Action]
Name=Play with mpv
Comment=Play this directory with mpv

EscapeSpaces=true
Exec=mpv --player-operation-mode=pseudo-gui -- %P

Icon-Name=mpv

Selection=none
Extensions=any;
Dependencies=mpv;

「このディレクトリをプロジェクトルートとしてCodeを起動」

[Nemo Action]
Name=Open Code OSS
Comment=Visual Studio Code open on here

Exec=/usr/bin/code -n %P

Icon-Name=code

Selection=Any
Extensions=any;
Dependencies=code;!codium;

みたいな感じ。

VSCode

Archlinux公式にあるVSCode関連パッケージはcodeで、こちらはCode-OSS。
Google Chromeに対するChromiumみたいなやつである。

他の主な選択肢としてはAURにVSCodium(vscodium)、VSCode(visual-studio-code-bin)、MrCode(mrcode)あたりがある。

こだわりがないならcodeを使えばいいと思うけれど、マーケットプレイス問題があったりして、VSCode使っている人が確実に満足できるかというと微妙。

MS製のがいいんだ!という人はvisual-studio-code-binを使えばいいと思う。
Microsoft公式のインストーラーから抽出してインストールするパッケージなので心配なく使うことができる。

私は最近はテレメトリと余計な機能が嫌になってVSCodiumを使っている。

マルチメディア再生系

入れておくといいのは

  • Viewnior
  • Pix
  • mpv
  • Audacious

あと私はStrawberryも使っている。

Lollypopなど最初から入っているやつは消してしまっていい。

ビデオプレイヤー系は大抵の場合mpvで事足りるし、mpvが一番うまくいく。
慣れよう。
playlistmanagerを入れておくと良いかもしれない。

画像は単体で見たいときはViewnior、ディレクトリ階層でアルバムにして見たいときはPix。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?