Hatena::ブログ(Diary)

joker1007の日記 RSSフィード

2017-02-02

開発環境がLinuxに戻ってそれなりにこなれてきたので現在の環境について書く

Macを捨ててThinkpadGentooを入れて開発環境としてから2ヶ月が過ぎた。

世の中にはMacから離れようとしてThinkpadを買ったら、矢印キーボード押しにくいとかタッチパッドがクソなので、Macに戻っていった人も居るみたいですが、私としては至極快適に過ごしております。

そもそもThinkpadタッチパッドは基本無効化するものなのでどうでもいい。まあそのスペース邪魔なんだよ、とは思いますがw

Wi-Fiの無効化キーを誤爆するという危険があるらしいが、Gentooだと頑張って設定しないとそういう特殊なキーはそもそも動かないので、そんな危険もなく安全ですね。

Gentoo入れてタッチパッドを無効化すれば、Windows10というOSも使わなくていいし、全て解決するんではないでしょうか。


前置きはこのぐらいにして、色々と使うものが安定してきたので今の環境について書いていきます。


デスクトップ環境

Gentooportageというパッケージ管理システムがよく壊れるというか、依存関係が複雑なパッケージ入れてるとバージョンアップのタイミングでコンフリクトしたりする。

なので、依存関係の複雑になりがちなGUI周りのコンポーネントはできるだけ入れたくない。

というわけで、GTKベースにしつつGNOMEKDEとかいう重厚なデスクトップ環境を丸ごと入れるということはせずに、Awesomeというタイル型ウインドウマネージャーを直接起動している。

PCが起動すると、コンソールのログイン画面が出て、ログイン後にコマンドでGUIを起動するようにしている。xinitrcに"exec awesome"と書いてstartxを実行する。

おかげでめっちゃ軽い。起動直後のメモリ消費は200MB程で済む。

ランチャー

AlbertというAlfredもどきがあったのでランチャーとして使っている。

元々Alfredの高度な機能はほとんど使ってなかったので、アプリの起動さえ出来れば特に困らなかった。

Gentooにはパッケージもあったので簡単に入って便利。

ターミナル

mltermを使っている。

24bitのtrue colorが表示できて、sixelが使えるから使っているのだが、正直そこまで軽量とは感じないので、もうちょっと軽いターミナルを探している。

mltermの良い所は依存コンポーネントが少ないところ。gnome-terminalとかkonsoleとかは依存が多過ぎてもっての外だ。

urxvtが24bit表示できれば良かったのだが……。

クリップボード管理

parcelliteを使っている。

システムトレイに常駐できるし、基本的な機能があって、これも依存が少なかったので採用した。

開発環境

最近はneovimとdockerがあれば大体何とかなる。ホストOS側に色々と入れるとportageが壊れやすくなるので、できるだけdocker内に封じ込める様にしている。

コンテナ内で操作することも色々あるのでストレスなく操作できる様に、自分のzshrcとかpecoとかを突っ込んで"docker exec"を実行できる簡単なラッパースクリプトを書いている。

Twitterクライアント

TweetDeckがメイン。普通にChromiumで表示している。たまにmikutterを使うこともある。

チャット

仕事ではSlackを使っていて、Gentooにはパッケージがあったのでそれをそのまま入れて使っている。

音楽再生

wine上でfoobar2000を動かして使っている。というか未だにこれより便利な音楽プレーヤーが無いのってどうなんだ。10年前から何も変わってないぞw

自分の持ってたUSBDAC兼ヘッドホンアンプは普通に使えたので、wine経由してWASAPIで再生している。96kもちゃんと出た。

問題は、iTunesレーティングが同期しないことで、iPhoneを使っている身としてはちょっと辛い点が増えた。

動画再生

mpvが軽くて良い。

しかし、自分のT460sは一応GeForceを積んでいるのだが、今のところLinuxでこういうノート用の追加3DコントローラーでVDPAUを上手く使う方法が無い。

色々調べたのだがかなり厳しそうだ。

DRI2で動かせば、可能性ありそうな気がするんだが、良く分からなかった。

なので、GPUは上手く活用できていない。

ファイラー

とりあえずspacefmとvimfilerを併用して使っている。

これも依存が少ないから採用した。nautilusとかGNOMEが入ってしまうので駄目だ。

その外のファイラーも大体デスクトップ環境とセットで入ってしまって辛かった。

Wi-Fi接続とbluetooth接続

それぞれコマンドでやっている。

Wi-Fiはiwコマンドかiwconfigコマンドで電源を操作して、wpa_supplicantを起動しておけば勝手に繋がった。

接続設定とかパスフレーズはwpa_passphraseコマンドの実行結果を/etc/wpa_supplicant/wpa_supplicant-<dev名>.confに書いておく

bluetoothは、bluetoothctlというコマンドを使ってconnectしている。しかしBluetooth4.0規格のマウスが上手く繋がらないとか時々ハマる。

ヘッドセットとかイヤホンの類はまだ試してない。

パスワード管理

1passwordのWeb版をお試し中。wine使ってWindows版を入れるかどうかも検討しているが、まだ決めてない。

電子書籍とか画像ビューワー

KindlewineWindows版入れたら普通に使えた。

画像系はmcomixというビューワーでzipとかrarの中身も見れるのでこれを使っている。

PDFとかePubはあんまり良いビューワーが見つかってない。ePubFBReaderというのを使ってるが正直微妙。

マルチディスプレイ

最近は、EDIDの情報がちゃんと取れれば普通にディスプレイを認識するので、"xrandr"コマンドでディスプレイ表示を切り替えれば、大体上手く動作する。

ただ、接続チェックはちゃんとした方が良い。

まとめ

全体的な感覚としては、Macより2倍は動作が軽い。

特にタイル型ウインドウマネージャー派としては、Mac上で無理矢理やってるのとは全く反応速度が違う。久々の感覚だが、やはりこうであって欲しい。

Dockerを開発に使う上でも、変なハマりどころとかパフォーマンス上の問題が発生しないのでめっちゃ快適だった。

そもそもコンテナは起動が速いとか言ってるけど、Macだと結局VM噛んでるから別に早くないし、むしろストレージに問題ありまくりでめっちゃ辛かった。

開発機として使うなら、やはりLinuxの方が良い。iOS開発者はどうしようもないけど……。

最近のLinuxは蓋を閉めたらちゃんとスリープできるので、バッテリー問題も困ることはそんなに無い。

まあ、稀に復帰できないことはあるんだけど、そもそもMacでも時々復帰しないし。

CPUがあんまり高クロックで動作しない様に上限かければ6時間は電池が持つ。


というわけで、今のMacが気に入らないなら、そろそろMacから離れる好機かもしれない。

宗教上の理由でLenovoのPCを使いたくない、という人も居るかもしれないし、別にThinkpadを進めるわけではないけど……。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/joker1007/20170202/1486056211