トップ 最新 追記
RSS feed

ただのにっき


2017-12-15(金) [長年日記]

wslttyのテーマを(正しく)設定する

先日、あわよくばVirtualBoxで運用しているLinuxをなくして……などと書いたせいか、自宅で日常的に使っているVirtualBox上のDebianのディスクイメージがぶっこわれてしまい*1、本気でWSL上に開発環境を構築せねばならない状況になった。とはいえDockerの導入はめんどうなので先送りにして、まずはターミナルの環境整備から……(←本質から目をそらして小手先の作業に手を出すダメなパターンである)。

wsltty(というかその派生元であるmintty)のテーマ設定についてググると、けっこうな割合で「ESCシーケンスを発行するechoコマンドを羅列したシェルスクリプトをログイン時に実行する」とか「テーマファイルの中身を.minttyにコピペする」というノウハウがひっかかるが、そんな原始的な方法がオフィシャルに推奨されているとはとても思えないので、しっかり公式ドキュメントなどを読むべきである。

で、「themes」ってディレクトリがあるよってことがわかるので、それを探すと……ないわけよ(笑)。でも、インストール先をたぐってみるとそれっぽい場所が見つかるので*2、そこに「themes」ってディレクトリを掘ってからテーマファイルを入れると、ちゃんと出た:

オプション画面でテーマを選択しているところ

ほれみろ、これが公式なやり方だよ。……と書いたところで(この日記の日付は12/15だが書いているのは12/18である)、wslttyの1.8.2が出て、ちゃんとmintty由来のテーマファイルがこのディレクトリに入るようになった*3

とはいえ付属のテーマはあまり数もないので、自分の好きなのをネットで探してきて入れると良いと思います。このへんは先人たるminttyユーザがたくさん整備してくれているのでありがたく利用させてもらう:

base16シリーズは人気のある配色を移植したものかな。個人的には mintty-color-xoria256-rc が気に入ったのでこれにした。

Tags: windows10 wsl

*1 「お前はもう不要だ」と言われた機械がすぐ壊れる現象について学術的な研究が必要だと思う。なお、だいじなものはすべてクラウド上にあるので、今回の損害は「手間」だけである。しいていえば立派に育った.zsh_historyが惜しいくらい。

*2 AppData/Local/wsltty/usr/share/mintty

*3 1.8.2からchshで設定したログインシェルを見てくれるようになったので、wslttyユーザは即座にアップデートすべき。

関連する日記: 2017-12-24(日)

2017-12-13(水) [長年日記]

グラコロ2017シーズン、はじまる

新作「熟」と昨年から引き続きの「超」で「通セット」

予告どおり今日からグラコロの販売開始ということで、昨夜は寝る前に同盟のサイトを正式オープンして、5時からの販売開始に備えた。今年から朝マックの時間帯にもグラコロを扱うということで、とりわけ熱心な同盟員のみなさんは開店と同時に店に飛び込んでいたようだ。

おれもさっそく通セットでシーズン開始。熟コロ、美味しいんだけど、これだけだとちょっと重いので、やっぱり後追いでさっぱり系の「超」も食べるのが正解ですよ(おまえはなにを言ってるんだ)。

夜までサイトを見張っていたけど、さすがに朝から扱ってると数字の伸びが大きくて、最終的には150個を大幅に超える初日になった。みなさん新作にも満足なようでひと安心。おれが心配するようなものではないが。

Tags: gracoro
本日のツッコミ(全3件) [ツッコミを入れる]

ブチャ猫 [カウントなさってるのは たださんなんですか? あの写真はマックの良い宣伝になりますね〜♡]

ただただし [カウントしてるのは、たださん(が作ったプログラム)ですね。]

ブチャ猫 [アハッ!その辺りには弱いので・・・ε=ε=ε=ε=ε=ε=┌(; ̄◇ ̄)┘ グラコロ同盟のことを何年か前にマックの..]


2017-12-12(火) [長年日記]

遅ればせながらWindows Subsystem for Linuxを導入した

Microsoft Store上のUbuntuアプリ

Windows10のFall Creaters UpdateでWSLのβがとれると聞いたので、おくればせながら導入してみた。手動でWindowsをアップデートしてから、Microsoft StoreでUbuntuをインストール。その後、コンパネ→プログラムと機能→Windowsの機能の有効化または無効化と進んで「Windows Subsystem for Linux」を有効に。何度か再起動すると使えるようになる。

以前はWindowsを「開発者モード」で動かさないといけなかったようだが(それでよけいなsshdが動くのがイヤで導入してなかった)、今は不要らしい。ググって古い情報を参考に導入したりすると余計な手順を踏まされそうだ。

起動したUbuntuは(というかbashは)普通によくできていて、とはいえWindows純正のコンソールは使いにくいので何か別なの……と探していたら、Cygwinユーザ御用達のminttyをWSL向けにカスタマイズしたwslttyというのがあったのでこれをインストールした。普通に使い慣れたターミナルって感じで、悪くない。しばらくこれでいこう。

bashじゃなくてzshにしたいと思い、いろいろな手法があることを知ったけど、どうせwslttyからしか使わないなら、そのショートカットをいじるのが良いだろうと考えて、(aptでzshを入れてから)ショートカットの中身をこう変えた:

%LOCALAPPDATA%\wsltty\bin\mintty.exe --WSL= -h err --configdir="%APPDATA%\wsltty" -~ /usr/bin/zsh -l

末尾の「/usr/bin/zsh -l」がミソね。2017-12-18追記: この制限は1.8.2で撤廃され、きちんとログインシェルを見てくれるようになったので、「/usr/bin/zsh -l」は不要になった。

その後、いつも使っているAnsible Playbookを使ってさくっと環境構築をして常用準備完了……といきたいところだったが、まだいくつか問題があった。

まず、screen(←年寄りなのでまだtmuxに乗り換えてない)が使う/var/run/screenがない。どうも/var/runが揮発性らしく、毎回作り直さないといけないようだ。~/.zshrc内で作るようにして解決。

chshでzshを指定してもbashを起動しようとするので、screenの中でbashが動いちゃう。これもSHELL環境変数に/usr/bin/zshを指定することで、screenがいいように解釈してくれるから、これも~/.zshenvで指定。

それから、スタンドアロンのLinux上ではsshキーの管理にkeychainを使っているんだけど、代わりにWindowsサイドで動いている(PuTTY付属の)Pageantを利用したい。これは「Windows 10のWindows Subsystem for Linux(WSL)を日常的に活用する」を参考にしてweasel-pageantを導入した。これはいいですね。

なお、他のLinux環境と.zshrcなどを共有したい場合は、uname -rの結果に「Microsoft」が含まれるかどうかで場合分けできる:

% uname -r
4.4.0-43-Microsoft

こんな感じで、日常用途でのLinuxコンソールとしてはだいたい使えるようになった。開発環境はこれから。

あわよくばVirtualBoxで運用しているLinuxをなくして、これに一本化できたらいいなと考えているけど、daemonが動かない*1という制限があるので、こんへんをDockerで置き換えるように生活態度を改めねばいけなさそうだ*2。年内にできたらいいなー。

Tags: windows10 wsl

*1 動くのもある。sshdやmongodは動いているようだ。

*2 Dockerももちろんdaemonが動かないが、それはWindowsサイドのHyper-V上で動くDocker for Windowsを使えるらしい。


トップ 最新 追記
RSS feed