Type-Zer0のブログ

趣味について垂れ流す場所

Ubuntu + i3-WindowManager

普段遣いにLinuxを選択したときの利点として大きいのは自分好みの環境にカスタマイズできるということ!
というわけで一番大きな見た目の部分をいじっていく。

環境

X220@Ubuntu18.04
A285@Ubuntu18.10 → Ubuntu19.04

i3 とは?

タイル型ウィンドウマネージャの1つ。
ウィンドウマネージャはデスクトップの見た目を変えたりするソフト Ubuntuの標準はUnityだったり18.04からはGnomeに戻ったらしい(GnomeShellはやはり使いづらい)
タイル型で有名なのは他にもdwmとかawesomeとかいろいろ

環境構築

インストール

i3-gaps公式を参考にするとか、 Install i3-gaps on ubuntu 18.04 · GitHub ここでUbuntu向けのシェルスクリプトを配布してくれているので使う。

設定

設定は~/.config/i3/config に書く。

ターミナルエミュレータ

ターミナルエミュレータGnome端末使ってます。
shellは、デフォルトシェルにbash、i3で開くshellはfishにしてます。
デフォルトシェルをbashから変えてしまうといろいろ不具合が起きるので。

 $sudo apt-add-repository ppa:fish-shell/release-2
 $sudo apt update 
 $sudo apt install fish
 $mkdir -p ~/.config/fish
 $echo > ~/.config/fish/config.fish
 $curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher
 $fisher z

バックライト調整

Thinkpadで何故かxbacklightはうまく動かないので、intelCPUの場合はLightを、AMDCPUはbrightnessctlを使う。

  • Light GithubのリリースからDebでビルド済みのものが配布されているので使う。

  • brightnessctl
    作業フォルダでgit cloneしてmakeする。

適当な作業フォルダで  
$git clone https://github.com/Hummer12007/brightnessctl
$cd brightnessctl
$make
$sudo make install

#インストール作業終わり udevルール追加
$sudo vim /etc/udev/rules.d/backlight.rules
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="amdgpu_bl0", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="amdgpu_bl0", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="leds", KERNEL=="asus::kbd_backlight", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="leds", KERNEL=="asus::kbd_backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"

#グループ追加
$sudo adduser USER video

#非ルートユーザでもコマンドできるようにする
$sudo chmod u+s /usr/bin/brightnessctl

#調整できるかテスト
$brightnessctl s +10
Updated device 'amdgpu_bl0':
Device 'amdgpu_bl0' of class 'backlight':
    Current brightness: 79 (30%)
    Max brightness: 255

$ brightnessctl s 10-
Updated device 'amdgpu_bl0':
Device 'amdgpu_bl0' of class 'backlight':
    Current brightness: 69 (27%)
    Max brightness: 255
# Screen brightness controls
bindsym XF86MonBrightnessUp exec  light -A 5 # increase screen brightness
bindsym XF86MonBrightnessDown exec light -U 5 # decrease screen brightness

#For AMD-CPU
bindsym XF86MonBrightnessUp exec  brightnessctl s +5 # increase screen brightness
bindsym XF86MonBrightnessDown exec  brightnessctl s 5- # decrease screen brightness

スクリーンロック

席を離れる際の画面ロック
私は(i3lock-fancy)https://github.com/meskarune/i3lock-fancy というものを使っています。
i3lock-colorのforkで画面に鍵マーク、入力時に視覚的にわかる、といったあたりでわかりやすくて好みです。
git clone からmakeします。

参考

Home · Airblader/i3 Wiki · GitHub
Install i3-gaps on ubuntu 18.04 · GitHub
i3 Window Manager を使ってみて分かったおすすめ設定集 - Qiita
ASUS GL702ZC - ArchWiki

システムモニタ? conky使いましょ

conky 使おう

今はもうデスクトップカスタマイズは流行っていないからアレかもしれないけど、デスクトップに情報表示したい人、いない?
Windows7以前ならSumurizeがよくつかわれていたかな。 Rainmeterもあった。
今となっては余り使えないけどそれでもデスクトップに情報表示したいって人、居てもいいと思う。

Linuxならconkyっていう素晴らしいモノがあるので、是非使おうという話。

インストール

ubuntuならaptでいい。

完全透過

Ubuntuで完全透過するにはxcompmgr と transset-df を入れないとイケナイらしい。
前者はaptで入る、後者はmakeする。

$ sudo apt install -y xcompmgr
$ sudo apt-get install xcompmgr libxcomposite1 libxcomposite-dev libxfixes3 libxfixes-dev libxdamage1 libxdamage-dev libxrender1 libxrender-dev
$ cd ~/home/tmp
$ wget http://transset-df.forchheimer.se/transset-df-6.tar.gz
$ tar zxf transset-df-6.tar.gz
$ cd /transset-df-6/
$ make
$ sudo make install
$ sudo cp transset-df /usr/bin/
$ rm -rf transset-df*

設定

細かいパラメータとかはArchWikiが詳しい。
後はネットに公開されているサンプルを参考にしよう。

myconf

恥ずかしながら自分が使ってるconfはこんな感じ(そのうち追加する
もっといいよ!とかあったらじゃんじゃんコメントください。

参考

Conky - ArchWiki

ハイスペックなランチャ Rofi を使ってみる。 

カスタマイズできるランチャ

Ubuntu、いろいろと使うのが楽ちんなのはとても良い。
でも不満もたくさんあってUnityが使いにくいとか、Unityが重いとか(コレは次にGnomeに切り替わるらしい)
Gnomeのランチャもいまいちで軽快かつ自由度が高いランチャでrofiというのがあるらしい。

インストール

Ubuntuではaptのリポジトリに入っているので

$ sudo apt install rofi

で入る。

使い方

基本的な使い方は公式見たり、他の人のブログを参考にしよう。

$rofi -show run

でアプリケーションランチャーになる。コレは便利ね。

スクリプトモード

rofiにはdmenuスクリプトの2つのモードがあってそれぞれぞれでカスタマイズできる模様

参考

Rofiでクールな軽量ミニマルランチャー | Jenemal Notes

Rofiの設定

Ubuntu + Polybar

Ubuntuでpolybarを使う

デスクトップカスタマイズの一環としていろいろと試してみたい。
変更したり改造したりしたら随時追記していく。

環境

Ubuntu18.04
Thinkpad X220

メモのようなもの

WindowManagerとしてi3を使う場合、ステータスバーはいくつか選択肢があって

  • i3status

  • i3blocks

  • polybar

標準のでも十分な人はそのままでいいし、ちょっと弄りたいならi3blocks使えばいい感じなのかな。   ざっと見ると多くの人はpolybarを入れて居るみたいだし、自由度が高いらしいので入れてみる。  

インストール

公式を見るとUbuntudebを手に入れて云々としか書いていないけれど
そこのリンクはつながらないのでビルドする。
前提として、gitがはいっている事。作業フォルダはどこでもいいっちゃいいけど/tmpでやることにする。

$ sudo apt install cmake cmake-data libcairo2-dev libxcb1-dev libxcb-ewmh-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-randr0-dev libxcb-util0-dev libxcb-xkb-dev pkg-config python-xcbgen xcb-proto libxcb-xrm-dev i3-wm libasound2-dev libmpdclient-dev libiw-dev libcurl4-openssl-dev libpulse-dev libxcb-composite0-dev
$cd /tmp
$git clone https://github.com/jaagr/polybar.git
$cd polybar && ./build.sh

おそらくコレで入ったのでこの後は設定していく。

設定

設定を入れたら更新する。

参考

Install Polybar In 3 Steps On Debian Stretch – Tatiana Ensslin – Medium

Thinkpad X220 + Ubuntu18.04 でファン制御

ファンコントロールがしたい!

冬はヒーター代わりになって良いけれど、夏にファンが止まっていると食べ物が焼けるくらいになるので、ファンコントロールをパソコンにさせてみようの巻

Windowsを使えばこの辺は制御できるけど、Linuxはどうなのかと調べてみたところ、Thinkpadは有志が色々とやってくれている模様
ありがたい限りだなぁ

apciの設定ファイルを作る

 $ sudo echo 'options thinkpad_acpi fan_control=1'  >  /etc/modprobe.d/thinkpad_acpi.conf 

管理ソフトをインストール

 $ sudo apt install thinkfan lm_sensors

センサーを読み込ませる

 $sudo sensors-detect

反映されているか確認

 $ cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.


# Generated by sensors-detect on Sun Jul 15 10:15:23 2018
# Chip drivers
coretemp

どこに書き出されたか

$ sudo find /sys/devices -type f -name "temp*_input"

/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_input
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_input
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp1_input
/sys/devices/virtual/hwmon/hwmon0/temp1_input

コレをメモしておいて設定ファイルに書き込めば良い
注意事項として、各ファイルの場所を示すとき先頭はsensorでなくhwmonにすること。

 $sudo vim /etc/thinkfan.conf
~
# I use this on my X220
tp_fan /proc/acpi/ibm/fan
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_input                                
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_input
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp1_input
#/sys/devices/virtual/hwmon/hwmon0/temp1_input
#tp_thermal /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3)
(0,▸0,▸55)
(1,▸48,▸60)
(2,▸50,▸61)
(3,▸52,▸63)
(4,▸56,▸65)
(5,▸59,▸66)
(7,▸63,▸32767)

起動確認

 $ sudo thinkfan -n

エラーが出てなければ成功

最後に自動起動するように設定 一緒にstartしてもいい

 $ sudo systemctl enable thinkfan

これで真夏のアッチッチ問題から多少解放される?
何かわからないこととか間違っているよってことがあれば教えてくれると嬉しい

[ThinkPad X1]Ubuntu GnomeでCPUファンをコントロール – BOOLEE STREET.net こちらを参考にさせていただきました。
ちなみに、指紋センサーはきちんと作動させられます(精度良く読み取れるとは言っていない