WindowsのターミナルエミュレータはMobaXtermがいい、という話
皆さんはWindowsでのターミナルエミュレータは何を使っていますか?minttyとかconemuとか、最近だとMicrosoft謹製のWindows Terminal とか使っている人も多いのではないでしょうか。 www.microsoft.com
私は最近MobaXtermを使っています。以下のような要件があるからです。
これらの要件を満たせていたのが https://mobaxterm.mobatek.net/:MobaXterm でした。特にX serverが内蔵されているってのが良くて、別途VcXsrvとか入れなくていいんです!
X Serverいらなくていいなら、正直Windows Terminalが成熟すればそちらでもいいかなーという気分ではあります。Visual Studio Codeに期待。特にCode Hierarchy機能がほしい・・・
個人の雑多なメモ取りには何がいいか
雑多なメモをPCで取ることが多いが、あっちに書いてしまったりこっちに書いてしまったりとイマイチまとまらない。
evernote.com www.notion.so boostnote.io
あたりを使ってきたが、なんというか、ノートのとり方をアプリに決められてしまっているようで嫌になってしまう。
それぞれの製品で、個別にはとても便利なところがあるんだが、個人で使うにはオーバースペックすぎると思ってしまいます。
結局最近は妥協案として、GitHubのプライベートリポジトリにMarkdownでとにかく突っ込んでおいて、後で検索する、というやり方にしているけど、なんだか効率よくない気がする。
なにかいい方法はないだろうか。要件としては、
くらいかなぁ。Gitで管理できるのが少ない・・・あとでblameして、いつそのメモを書いたかを思い出したいときとかあると思うんだけどな
sshcodeが便利そう
前置き
最近WSL内にVSCodeをインストールして使っていたのですが、やはり動作が遅いのがどうしても気になっていました。
そういえば最近
ってのが話題になっていたなーと思い、いっそ適当なVPSを借りてブラウザ経由でVSCode動かしたほうが生産的かなーとか思って少しあさっていると、以下のプロダクトを見つけました。
GitHub - cdr/sshcode: Run VS Code on any server over SSH.
適当なLinuxを動かしているサーバを指定して、コマンドを実行するだけでcoder-serverのインストールから自動でやってくれて、over SSHでVScodeが動かせる?ということで、試してみました。
使い方
適当なVPSでLinuxが動いていて、SSHログインができることが条件だと思います。
今回は、AWS Lightsail上で動いているUbuntu 18.04のVPSを用意して試してみました。つなげるもとはWSLです。
- github.com から、バイナリを落としてきてWSL上のPATH通っている適当な場所に配置
sshcode -ssh-flags "-p <ポート番号> -i <秘密鍵の場所>" <user名>@<host名>
と実行- vscodeが立ち上がる
なんとこれだけで本当に動きました。どうもWindows側にChromeをインストールしていて、パスが通っていると勝手にそっちを使ってくれるらしく、まじで便利。動作も快適です。
セキュリティ面とかがよくわかっていないのですが、SSH tunnelingしている感じになっているのかな?そのあたりが安全なら、まじで私にとっては最強のソリューションかもしれないです。
VimからVisual Studio Code (VSCode) に移行した
普段はインフラエンジニアをやっているので、サーバにSSHして設定ファイルをVimでいじるみたいなことがままあります。
その延長線上で、プログラムのコードだったりとかもVimで書いていたのですが、正直 .vimrc
いじって頑張って補完とか出すのめんどいなーと思っていたこの頃でした。
(ぶっちゃけJavaとかはIntelliJ使っていたりいまいち統一感なかったですが)。
そんな中、なんの気無しに以下の記事を読んでいて、すごいなーと思う一方、「ここまで頑張ってやっとVSCodeと同様なの?」という気持ちが湧いてきてしまいました。 (記事の著者の方には申し訳ないですが・・・)
そんなわけで、VSCode をプログラミング用途で使い始めてみました。VSCode自体は昔から使っていたのですが、 Windows環境に入れていただけで、Windowsではそもそもプログラミングしないので、テキストエディタとしてしか使っていなかったです。
しかし、VSCodeをWSLの中で動かすことができると知り、試してみることにしました。
使っている環境は以下です。
もともとIntelliJもWSLの中で使っていたこともあり、多分動くだろうなーと思っていたのですが、なぜか今まで試していませんでした。
WSL(Ubuntu)には、以下の手順に従ってインストール。Snapでもインストールできるかもしれませんが、なんとなく試していません。
Running Visual Studio Code on Linux
インストール後はcode
と打てば起動します。簡単ですね・・・と思っていたら、なぜかWindows側のVSCodeが立ち上がってしまいました。
確認してみると、どうやら$PATH
がWindows側のVScodeを指している模様。以下のように、aliasを貼って回避しています。
alias code="/usr/bin/code"
(Windows側のバイナリがWSLからシームレスに実行できると、こういう弊害があるのか・・・)
aliasを貼ったあとは無事に動いています。以下、所見。
- いいところ
- 悪いところ
総評
小ネタ: WSLからWindowsのアプリケーションを呼び出したいとき
WSLは便利ですが、基本GUIの環境が入っていなかったりして、たまにコマンドラインからWebブラウザを呼び出すようなスクリプトを使っていたりすると動かなかったりします。
URLをWindows上のChromeなどにコピペすればよいのですが、面倒でした。
なので、WSLからWindows側のChromeをコマンドラインで呼び出して使いたかったのですが、やってみたところ以下で普通に動きました。
"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe" google.com
これでChromeのタブが開きます。インストール先は適宜変えてください。aliasに登録しておくと便利だと思います。
「入門 監視」を読んだ
入門 監視
すげータイトルだと思って思わず買ってしまった。
最近のイケてるツールの使い方とかを羅列した感じなのかな、という軽い気持ちで読み始めていたが、全然違った。全12章とおまけがあるわけだが、そのうち前半部分の1章から4章までは、監視の具体的な方法というより、業務としてシステムの監視を行う際のいわば「心構え」といった感じだった。
- なぜ監視をするべきなのか
- そのアラートは本当に上げる必要があるのか
- というか外注できないのか
などなど。これはただの想像だが、監視というのはそれ自体がお金を産むわけではないので、この本の著者は常にこういったことを周りに説明する必要があったのだろうなと思う。 アラートが上がった際に止む無くオンコール対応しなければならない場合に備えてローテーションを組む方法まで書いてあって、にじみ出るような苦労を感じた。(あとこの著者は多分Nagiosが嫌い)
監視する対象はシステムのみにとどまらず、ビジネスのKPIに関するものもあった。言ってしまえば、あるサーバのあるプロセスのうちどれかが死んだからどうだ、というのは割とどうでもよくて、それがどれだけビジネスインパクト(より直接的に言うなら、お金)があるか、というのが重要なのだろう。極論すれば、別に全く儲からず重要でもないビジネスを支えるシステムなぞ監視する必要もないわけである。
「システムだから監視するよね」じゃなく、「どれだけ価値があるシステムで、それが止まった場合どれだけビジネスに影響があって、どれだけ損失があるかを予め把握した上で、それに対する保険のために監視しましょう」というのが筋なのだろう。(個人的には、こういった考え方は苦手で、ついついイケてるツールとかオレオレ最強監視スクリプトとか、そういったことを考えがちであって、反省させられた)
ぶっちゃけツールの使い方を知りたいなら別の本を読んだほうが良いと思いますが、「そもそも監視って何から始めたらいいの?」って人にはおすすめです。
アメリカへの長期出張用にLycamobileを使ってみる
数週間アメリカへの出張となった。これで二回目で、前回行ったときは現地のAT&Tに行ってプリペイドのSIMカードを買って使ってたんだけど、今回は日本から買って行ってみることにした。
いろいろ種類はあるみたいだけど、今回はLyncamobileを利用する。
準備
現地で変にトラブっても嫌だったので、日本でアクティベートした。帰国日が使用期限を超えないように調整して、日本のiPhone 8 (docomo版をSIMフリー化済) にSIMを入れる。
暫く経つとSMSが届いて、現地の電話番号を確認できる。 準備はこれだけでおしまい。とりあえずSIMを戻す。
現地で使ってみての感想
現地に着いてから、さっそくSIMをLycamobileに差し替える。暫く経つと通信ができるようになる。
簡単にWebブラウズなどする分には、通信速度は特に問題なさそう。
ただし、通信可能域が狭い気がする。T-mobileの回線を利用しているらしいが、なんかちょくちょく途切れる。別に田舎とかでないのだが。