Unsplash という画像サービスを知りました.
無料で利用できる写真が提供されています.どうもアップロードされた写真を人力で選別しているようです.そのため高品質な写真が集まっているようです.
そして,URL指定だけで使える簡易APIが提供されています.これと feh コマンドを使ってランダムな壁紙を設定してみました.
Unsplash という画像サービスを知りました.
無料で利用できる写真が提供されています.どうもアップロードされた写真を人力で選別しているようです.そのため高品質な写真が集まっているようです.
そして,URL指定だけで使える簡易APIが提供されています.これと feh コマンドを使ってランダムな壁紙を設定してみました.
Debian等でのインストール直後のawkは mawk
が導入されます.
Debianのパッケージでは他にGNU awk(パッケージ名 gawk
), The One True Awk(パッケージ名 original-awk
)というものもあります.*BSDなどでよく見る nawk
もあるように見えますが,シンボリックリンクだけのようです.
(他にもあるかもしれない?)
mawk
は初期状態で入っていて軽量.GNU awk
はmawkに比べて多機能で既定値では導入されませんが, byobu
などが依存を求めるので入っている人も多いと思います.
複数のawkパッケージが導入されているときに awk
と実行したときは update-alternatives
で管理されたシンボリックリンク先のいずれかのawkが実行されます.これを切り替えてみます.
以下のエントリでipコマンドでネットワーク通信量が確認できました.
端末を起動してからの通信量は確認できますが,再起動したりするとデータ量はクリアされてしまいます.MRTGやZabbixなどを使うのは大げさな感じがします.
もう少しお手軽なものがないかなと少し探してvnStatというものを見つけたので今回試してみました.
先日スマートフォンのテザリングを利用して利用量を確認するのに ifconfig
コマンドを利用して確認しました.しかしこのコマンドはそろそろ使わないようにして ip
コマンドで確認したいところ.ということで ip
コマンドでの確認方法を調べました.
今日のテザリング1GBちょいで思ったより少なかった
Dicordで画面共有したりされたりで4.5hくらい
ビデオは大抵offなのでそれが効いてそう#kagolug pic.twitter.com/W8fyLpdiqS— matoken (@matoken1) April 25, 2021
cpufetchというscreenfetchインスパイアな感じのcpu情報表示ツールを見かけたので試してみました.
$ git clone https://github.com/Dr-Noob/cpufetch
$ cd cpufetch
$ make
$ ./cpufetch -s retro
################
####### #######
#### ####
### #### Name: Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
### ### Microarchitecture: Ivy Bridge
### ### Technology: 22nm
# ### ### ### Max Frequency: 3.300 GHz
## ### ######### ###### ###### ### ### Cores: 2 cores (4 threads)
## ### ### ### ### #### #### ### ### AVX: AVX
## ### ### ### ### ### ### ### ### FMA: No
## ### ### ### ### ########## ### #### L1i Size: 32KB (64KB Total)
## ### ### ### ### ### ### ##### L1d Size: 32KB (64KB Total)
## ## ### ### ##### ######### ## ### L2 Size: 256KB (512KB Total)
### L3 Size: 3MB
### Peak Performance: 52.80 GFLOP/s
#### ####
##### ##########
########## ################
###############################
標準のスタイルでテキストで貼り付けると真っ白になるので retro
です.通常の実行結果は以下に.
Rust製のCLI電子メールクライアントのHimarayaというものを見かけたので少し試してみました.
Himarayaは単体ではCLIのクライアントでバッチ的に利用できます.VIm/Neovimのプラグインを使うとTUIで直感的に操作できるようになるようです.
Windows/macOS/Linux(amd64)はリリースページからバイナリが入手できます.今回はLinux amd64環境で試しました.
$ wget https://github.com/soywod/himalaya/releases/download/v0.2.2/himalaya-linux.tar.gz (1)
$ tar tvf ./himalaya-linux.tar.gz (2)
-rwxr-xr-x runner/docker 9090192 2021-04-05 00:50 himalaya.exe
$ tar xf ./himalaya-linux.tar.gz (3)
$ sudo install -m 755 ./himalaya.exe /usr/local/bin/himaraya (4)
$ rm ./himalaya.exe
$ mkdir ~/.config/himalaya (5)
$ vi ~/.config/himalaya/config.toml (6)
$ cat ~/.config/himalaya/config.toml
name = "Kenichiro Matohara"
downloads-dir = "~/.config/himalaya/gmail/"
signature = "Regards,"
[matoken_gmail]
default = true
email = "matoken@gmail.com"
imap-host = "imap.gmail.com"
imap-port = 993
imap-login = "matoken@gmail.com"
imap-passwd-cmd = "gpg2 --no-tty -q -d ~/.msmtp-password-gmail2.gpg"
smtp-host = "smtp.gmail.com"
smtp-port = 487
smtp-login = "matoken@gmail.com"
smtp-passwd-cmd = "gpg2 --no-tty -q -d ~/.msmtp-password-gmail2.gpg"
/usr/local/bin
に himaraya
として導入設定ファイルは README.md
にgmailの例が書かれているので,imap4/smtpの場合はそのまま真似すると良さそうです.
設定ファイルのパスワード部分の imap-passwd-cmd
, smtp-passwd-cmd
は平分でも書けるようですが,コマンドが書けるのでmsmtpで使っているgpg2のものを使いました.opensslなども使えます.パスワードマネージャを使っても良さそうです.
$ himaraya list
UID |FLAGS |SUBJECT |SENDER |DATE
403387 | |[oss-security] CVE-2021-29136: umoci: malicious … |Aleksa Sarai |2021-04-06 11:13:14
403386 | |[oss-security] Django: CVE-2021-28658: Potential… |Mariusz Felisiak |2021-04-06 09:10:32
403385 | |Ingress Damage Report: Entities attacked by taar… |Niantic Project Operations |2021-04-06 07:52:16
403384 | |Ingress Damage Report: Entities attacked by taar… |Niantic Project Operations |2021-04-06 07:52:14
403383 | |Ingress Damage Report: Entities attacked by taar… |Niantic Project Operations |2021-04-06 07:52:15
403382 | |CPUのコアを増やせば、コア間の通信が増え処理速度が上がらないのではありませんか? |Quoraダイ
ジェスト |2021-04-06 06:35:23
403381 | |In October, you had 4.8K users visit your websit… |Google Analytics |2021-04-05 22:44:18
403380 | |Daily activity summary for Nextcloud |Nextcloud |2021-04-05 21:30:06
403379 | |Re: [oss-security] Risk of local privilege escal… |Leo Famulari |2021-04-05 20:20:55
403378 | |Re: [oss-security] Risk of local privilege escal… |Leo Famulari |2021-04-05 20:19:15
いくつかのコマンドを使いバッチ的にメールボックスを操作できます.しかし普通のMUAとして使うには面倒です.
Vim/Neovimのプラグインを使うとTUIで利用できるらしいので試してみます.
Note |
※前提条件として,vim-plugが使える状態になっている必要があります. junegunn/vim-plug: Minimalist Vim Plugin Manager |
$ echo "Plug 'soywod/himalaya', {'rtp': 'vim'}" >> ~/.vimrc
Vimの設定ファイルの ~/.vimrc
にHimaraya pluginを追記します.
vimを起動して, :PlugInstall
を実行してHimaraya Pluginを導入します.
その後,Vimの中で :Himaraya
で起動します.
Himarayaの設定ができていればそのままTUIで使えるようになります :)
今の時点ではあまり使いやすくはなくAlpineやMutt/NeoMuttのほうが良さそうです.でも開発も活発そうなのでこれからに期待したいです.
ところで名前の Himaraya は山つながりで Alpine のインスパイアなのでしょうか?
$ himalaya --version
himalaya 0.2.2
$ dpkg-query -W vim gpg
gpg 2.2.27-1
vim 2:8.2.2434-3
$ lsb_release -dr
Description: Debian GNU/Linux bullseye/sid
Release: unstable
$ arch
x86_64
dnspeep
というRust製のdnsのクエリ内容を表示するプログラムを知ったので少し試してみました.
GitHubのReleaseページにLinux x86_64とmacOS x86_64のバイナリが置いてあるのでその環境だとそれをダウンロードして会伊藤するだけで使えます.他の環境では cargo build
すればいいのかな?
$ wget https://github.com/jvns/dnspeep/releases/download/v0.1.1/dnspeep-linux.tar.gz
$ tar tvf ./dnspeep-linux.tar.gz
-rwxr-xr-x runner/docker 5570536 2021-04-02 06:20 dnspeep
$ file dnspeep
dnspeep: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a917041c223b18db709ff3c563ee1a6a3c82ba6e, for GNU/Linux 3.2.0, with debug_info, not stripped
$ ./dnspeep -h|xsel
Usage: ./dnspeep [options]
Options:
-p, --port PORT port number to listen on
-f, --file FILENAME read packets from pcap file
-h, --help print this help menu
What the output columns mean:
query: DNS query type (A, CNAME, etc)
name: Hostname the DNS query is requesting
server IP: IP address of the DNS server the query was made to
response: Responses from the Answer section of the DNS response (or "<no response>" if none was found).
Multiple responses are separated by commas.
$ sudo ./dnspeep
query name server IP response
A tweetdeck.twitter.com. 192.168.1.102 CNAME: td.twitter.com., A: 104.244.42.132, A: 104.244.42.4, A: 104.244.42.68, A: 104.244.42.196
:
libpcapからパケットを引っ張ってdnsのクエリを整形して出力しているようです.こんな感じでtcpdumpでもいいのですが,dnsに特化しているのでオプションとか覚えなくていいのはいいですね.
$ sudo tcpdump -i eth0 udp port 53 or tcp port 53
dnspeep v0.1.1
$ dpkg-query -W libpcap0.8 tcpdump libpcap0.8:amd64 1.10.0-2 libpcap0.8:i386 1.10.0-2 tcpdump 4.99.0-2 $ lsb_release -dr Description: Debian GNU/Linux bullseye/sid Release: unstable $ arch x86_64
ターミナルからの標準入力の結果をシームレスに選択してクリップボードにコピーしてくれる yank
というコマンドを知りました.
yankは各種環境のパッケージが用意されています.
Debian sid amd64 / Ubuntu 21,04 amd64 / Raspberry Pi OS buster armhf では yank
というパッケージで提供されているのでこれを導入します.
$ sudo apt install yank (1)
$ yank (2)
bash: yank: command not found
$ dpkg -L yank | grep bin/ (3)
/usr/bin/yank-cli
yank
パッケージを導入yank-cli
になっている.とりあえず導入できましたが,Debian環境だと yank
コマンドが見つかりません.他のパッケージと名前が競合してしまっているので yank-cli
として提供されているようです.
The binary is installed at /usr/bin/yank-cli due to a naming conflict.
$ apt-file search /bin/yank
emboss: /usr/bin/yank
yank: /usr/bin/yank-cli
競合しているのはなんds楼と検索してみると emboss
というパッケージのようです.
ヨーロッパ分子生物学オープンソフトウェアスイート
EMBOSS は、分子生物学のユーザコミュニティ (例: EMBnet) のために開発された オープンソースな解析用ソフトウェアパッケージです。このソフトウェアを 使うことで、様々なフォーマットで書かれたデータを自動的に処理したり、 ウェブから配列データを透過的に取得したりもできます。また、このパッケージには 拡張ライブラリが含まれているので、真のオープンソース精神に則って ソフトウェアを開発しリリースできるプラットフォームです。 さらに、EMBOSS は様々な配列解析用パッケージやツールとシームレスに 統合されています。EMBOSS は、長く続いた商用パッケージソフトウェアへの流れを 断ち切ったのです。
なかなか熱そうなプロジェクトのようです.
使わないならalias等でyankに向けてもいいかもしれません.
とりあえず導入出来たので試してみます.
$ apt-cache search yank | yank-cli
elpa-csv-mode - Emacs major mode for editing comma/char separated values
python3-readlike - GNU Readline-like line editing module
yank - interactively select and yank terminal output to stdout or xsel
apt-cache search の結果を yank で受けてカーソルなどで単語単位で移動してEnterで選択した部分をクリップボードにコピーします.
クリップボード貼付けをするとたしかにコピーされていました.
例えばパッケージ名をコピーして, $ sudo apt install \`xsel\`
のようにして使うと便利そうです.
その他便利そうなオプションとして, -d
があります.cutコマンドの-dと同じようにデリミタが指定できます.
$ nkf -w mntemsadext00_rct.csv | yank-cli -d,
こんな感じでcsvファイルに ,
を指定してあげると,各項目がコピーできます.
しかし,yankはページ跨ぎが出来ないようです.1ページ目のものしかコピーできません.こういう場合はyankに渡す前にフィルタしてあげるといいようです.grepや,昨日このblogで紹介したyankと同じ作者の「pick」もこういうときに便利です.
$ nkf -w mntemsadext00_rct.csv | grep 田代 | yank-cli -d,`
$ nkf -w mntemsadext00_rct.csv | pick | yank-cli -d,`
なにかの結果の一部が欲しいときに便利そうです.
$ dpkg-query -W yank pick pick 2.0.2-1 yank 1.1.0-2 $ lsb_release -dr Description: Raspbian GNU/Linux 10 (buster) Release: 10 $ uname -m armv7l $ cat /proc/device-tree/model ;echo Raspberry Pi 3 Model B Rev 1.2
$ dpkg-query -W yank pick pick 2.0.2-1.1 yank 1.2.0-1 $ lsb_release -dr Description: Debian GNU/Linux bullseye/sid Release: unstable $ uname -m x86_64
コマンドラインの標準入力をあいまい検索してその結果を主治力出来るpickというコマンドを知ったので試してみました.
たくさんの環境パッケージがあります.今回はDebian sid amd64とRaspberry Pi OS buster armhfで pick
パッケージを導入しました.
$ sudo apt install pick (1)
$ ls ~/Downloads/*.pdf | wc -l (2)
181
$ ls ~/Downloads/*.pdf | pick | xargs -I{} xpdf "{}" (3)
rpi (4)
/home/matoken/Downloads/rpi_DATA_CM_3p0.pdf
/home/matoken/Downloads/rpi_MECH_3b_1p2.pdf
/home/matoken/Downloads/RPi-Camera-User-Manual.pdf
/home/matoken/Downloads/rpi_SCH_3b_1p2_reduced.pdf
/home/matoken/Downloads/rpi_SCH_4b_4p0_reduced.pdf
/home/matoken/Downloads/rpi_SCH_ZeroW_1p1_reduced.pdf
/home/matoken/Downloads/RPi_Pi Pico_Digital Edition.pdf
pick
パッケージ導入上下カーソル入力で結果を選択,Enterで確定.確定された行はSTDOUTに出力され,今回の例では xpdf で開かれる.
コマンド結果が多くて grep を繋いでいくみたいなときに pick を使うとインタラクティブに絞り込まれたりしてわかりやすいです.
似たものに sysbox の choose-stdin というものもあります.
$ dpkg-query -W pick
pick 2.0.2-1.1
$ lsb_release -dr
Description: Debian GNU/Linux bullseye/sid
Release: unstable
$ uname -m
x86_64
$ dpkg-query -W pick pick 2.0.2-1 $ lsb_release -dr Description: Raspbian GNU/Linux 10 (buster) Release: 10 $ uname -m armv7l $ cat /proc/device-tree/model ;echo Raspberry Pi 3 Model B Rev 1.2