Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

軽量なアプリランチャーdmenu

i3環境は軽量ですが、とはいえアプリランチャーみたいなのが無いと若干不便なのも事実。
そういう時にはdmenuが使いやすいです。
……まぁ、こう文字で説明するより動画で見た方が威力がわかるかも……。
www.youtube.com

実際のところ

i3環境の場合

タイル型デスクトップ環境 i3をDebian/Raspbian上に構築 - Bye Bye Moore
i3環境を入れた状態で、まだdmenuを入れてない場合

# apt install dmenu 

Mod + dでランチャー立ち上げ。

文字入力画面が出てくるので、ここに文字を入力していきます。
f:id:shuzo_kino:20181117010253p:plain

すると、$PATHの通っているコマンドから候補を選び出してくれます。
私の環境だと"em"までやると emacsが候補としてでました。
目的のものが候補に出てこない場合、パスが通っていないか、
あるいはそもそも導入されていないかなので環境を再度確認してみてください。

i3環境にてワークスペースを特定のディスプレイに割り当てる

実際のとこ

HDMI1にディスプレイが繋がっている状態で、
ワークスペース2をchromium用に割り当てるには以下の様にします。

workspace "2: chromium" output HDMI1

デュアルディスプレイ環境なら、お客さん向きには動画を再生しつつ、
自分はコーディングみたいな環境がこれでいけます。

i3環境にてスタートアップ時の挙動を指定

i3環境にてスタートアップ時の挙動を指定する場合、
設定ファイルに"exec"を記述します。
これでサイネージモドキを実装するとき捗りますね。

実際のところ

i3の設定ファイルに以下のように記述します。
オプションもつける事ができて便利。

exec chromium --kiosk

ただし、上記のexecコマンドだとリスタート時には起動しません。
リスタート時も同じ事がしたい場合はexec_alwaysをやります。

exec_always ~/my_script.sh

参考もと

i3: i3 User’s Guide

i3環境にて特定アプリを常に全画面起動

i3環境にてGUI主体の特定のアプリを全画面で起動したい時はfor_windowの設定をします。
今回はChromiumを起動した場合、全画面モードになるようにしましょう。

実際のところ


公式の手順通りなら、設定ファイル"~/.config/i3/config"にあります。
なければ "~/.i3/config"につくります。

$ cp /etc/i3/config to ~/.i3/config

で、設定ファイルに以下を追記。
Chromiumは大文字で始まるので注意!

for_window [class="Chromium"] fullscreen enable

この状態で環境を再起動すれば、反映されます。
オプションつきで起動できるので、例えば以下のようにしてkioskモード*1でいけちゃいます。

$ chromium --kiosk --incognito

デフォの場合、これを停止させるには 「Mod+Shift+Q」を入力します。

*1:一応シークレットモードでログも残さない

【読書メモ】実務に役立つ自動機設計ABC

実務で役立つ自動機設計ABC―初心者必携!

実務で役立つ自動機設計ABC―初心者必携!

世の中ではIoTやロボットが持て囃され、弊社もその流れに乗って仕事が順調に増えつつあります。
とはいえ、実際お客さんの要望を聞いてると「それ要するに昔ながらの自動機をネットに繋ぐだけで十分では……」という事が多く*1
地元の自動機屋さんと組んで逆提案するケースが増えて来ました。

で、問題になるのが全くの畑違いである自動機分野の考え方や制御方法について。
私も一応は電子工学を学んだクチですので、その周辺技術を引っかかりに教科書を漁って勉強しております。

「実務に役立つ自動機設計ABC」はそういった流れで手に取った中では割と取っ付き易い本でした。
おそらくは機械工学系が学部でやったであろう概念を図解で示してくれるので非常に助かります。

後ろの方にある「第7章自動機設計の事例」ではシステムそのものの組み方についても紹介してくれています。
あまり一個の作業機に頼らず、仕事は分離させた方がいいって教えは……完全にプログラミングと同じですね……。

*1:まぁ、同業他社はそう思ってもロボットでゴリ押しするらしいのでウチは良心的かもしれません

【読書メモ】C/C++逆引き大全

現場ですぐに使える! C/C++逆引き大全 560の極意

現場ですぐに使える! C/C++逆引き大全 560の極意

名前の通り、まんまのC言語、またはC++言語の逆引きリファレンス集です。
初心者一歩あと*1になってからは、出所不明のWEB情報に頼るより、こういったリファレンス集や公式サイトを見た方がスマートに解決できたりします。

また、よくある課題単位で見出しができているので特に用事がなくてもパラパラと見返していれば、何かあった時のフックになるかも??

C言語の文法やポインタの話題なら

以前紹介した以下の本が個人的には読みやすくオススメです。
shuzo-kino.hateblo.jp

*1:初心者向けのもので一通り勉強して、とりあず簡単なアプリは自力で作成できるようになった……なんて状態

タイル型デスクトップ環境 i3をDebian/Raspbian上に構築

f:id:shuzo_kino:20181105003903p:plain
公式より引用 https://i3wm.org/screenshots/#

なんかこう、まさに映画やドラマでみたハッカーな雰囲気しません?
私ももういい歳ですが、こういうの大好きです。

ただの厨二病的需要だけでなく、表示に制約がある環境などでは非常に重宝します。
例えば、こんな例。
Make: Japan | [MAKE: PROJECTS]Raspberry Piでポケットに入るLinuxパソコンを作ろう

実際のところ

素のリポジトリ群にはないようなので、sur5r氏管理の鯖を登録します。
ubuntu用とdebian用の解説がありますが、今回ターゲットはtinker board sなのでdebianで。
RasPiでも手順は同じでした。

$ /usr/lib/apt/apt-helper download-file http://dl.bintray.com/i3/i3-autobuild/pool/main/i/i3-autobuild-keyring/i3-autobuild-keyring_2016.10.01_all.deb keyring.deb SHA256:460e8c7f67a6ae7c3996cc8a5915548fe2fee9637b1653353ec62b954978d844
# apt install ./keyring.deb
# echo 'deb http://dl.bintray.com/i3/i3-autobuild sid main' > /etc/apt/sources.list.d/i3-autobuild.list
# apt update

あとはいつも通りapt。

# apt install i3

起動したらば、ログアウトして右上方向のデスクトップ環境部分を「i3」に変更。
以降はi3で起動するようになります。

その他便利系

他の便利系は必要に応じて。
それぞれ、「ステータスバー」「i3公式推奨のアプリランチャー」「透過や影」「日本語フォント」

# apt install i3status
# apt install dmenu 
# apt install compton
# apt install otf-ipafont