byobu-screenのエスケープシーケンス変更
概要
byobu-screenのエスケープシーケンスを変えたいが、config(F1/F9)が効かない
原因
pythonの特定のモジュールがないことが原因のようである。
以下のパスのファイルを起動してconfig画面を出力している
/usr/lib/byobu/include/config.py
これを直に叩いて見ると、以下のメッセージが出力された。
ERROR: Could not import the python snack module
未解決版
snackモジュールをダイレクトにインストールしてみる
1) easy_installを利用するためにsetuptoolsをインストールする
sudo apt-get install python-setuptools
2) snackにcythonが必要なのでインストール
sudo apt-get install cython
3) Blasが必要と言われるので、LAPACKをインストールする
sudo apt-get install liblapack-dev
4) snackインストール
sudo easy_install snack
ここまでやって再度実行すると、以下のエラーが出る。 悲しいかなぁ
Traceback (most recent call last): File "/usr/lib/byobu/include/config.py", line 69, in <module> snack.hotkeys[ESC] = ord(ESC) AttributeError: 'module' object has no attribute 'hotkeys'
とりあえずここでギブアップ
解決版
configだけなら以下のコマンドでOKらしい
byobu-config
ここで、エスケープシーケンスを変えればOK
C-]をエスケープシーケンスにする
残念ながら上記の方法では、C-]をエスケープシーケンスに設定しようとすると、何故かNGを喰らう。
仕方ないので、設定ファイルを直にいじることにする。
設定ファイルは、以下のパスのものをいじればいいらしい
~/.config/byobu/keybindings
追記内容は以下の通り
escape ^]]
]が2回書いてあるのは、1回だけだと何故かうまく反応しなかったから。
久しぶりにHaskellをやる
概要
Haskellの環境構築をするにあたって、パッケージ管理にcabalを使うが、バージョン合わせとか何やらで非常に面倒。common lispのroswellやclojureのleiningenなどと似たような感じでビルドとかパッケージ管理とかやってくれるStackというものがあるので導入してみる。
Stack導入
- インストール
- 公式HP参照
- 使い方
# 1. プロジェクト(sample-project)を作成 stack new sample-project # 2. プロジェクトに移動 cd sample-project # 3. セットアップ(最初に1回) stack setup # 4. ビルド stack build # 5. 実行 stack exec sample-project-exe
vim
取り敢えずプロジェクトのルートフォルダにいる前提で、ビルド等のコマンドが実行できる様にvimの設定を書いてみた。
nnoremap [Exec] <Nop> "; 始動キーは<C-t> nmap <C-t> [Exec] "; 通常のghc "; <C-t> e map <silent> [Exec]e :!ghc -e main %<CR> "; -------------------- "; stackを利用する設定 "; -------------------- "; セットアップ : <C-t> s map <silent> [Exec]s :!stack setup <CR> "; ビルド : <C-t> b map <silent> [Exec]b :!stack build <CR> "; 実行 : <C-t> p "; (注意) プロジェクトのルートからファイルを編集している想定 "; ルートにあるcabalファイルがプロジェクト名になっているので、それを探しに行くことで対応 map <silent> [Exec]p :execute('!stack exec ' . fnamemodify(expand(";**/*.cabal";), ";:r";)) . '-exe' <CR>
参考
vim初期インストール時の対応
概要
新規でvimをインストールする際に出たエラーに関する対応のメモ。
エラー
vimにpythonが追加されない
- 概要
- エラー内容
- 原因1
- python-devをインストールする必要がある
sudo apt-get install python-dev
- 原因2
- pythonのconfigフォルダを指定してあげる必要がある
# 今回実行したコマンドは下記 ./configure --with-features=huge --enable-multibyte --enable-pythoninterp --enable-gpm --enable-cscope --enable-fontset --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu
- メモ
- 追加されているかどうかは、「vim --version」で確認できる
起動時にエラーが発生
E10: \ の後は / か ? か & でなければなりません
- 原因
- vi互換を切る必要があるらしい
" (1) .vimrcに、以下の記述を入れる set nocompatible " (2) 'set compatible'の記述が無い事を確認する
Guakeの透過設定
概要
Guakeの透過用に使っていたtransset-dfのインストール方法が、以前書いた記事の方法ではうまくいかなくなったので、やり方を更新する。
やり方
以前書いた記事と殆ど一緒。但し、transset-dfの取得方法が変わる。
- 必要なパッケージ&ライブラリのインストール
sudo apt-get install xcompmgr sudo apt-get install libxrender-dev sudo apt-get install libxdamage-dev sudo apt-get install libxcomposite-dev
- transset-dfのダウンロード
- transset-dfをここからダウンロード
- transset-dfのインストール
- 上のサイトに記述されている方法で良い(一応、下に書いておく)
# Xの部分はバージョンを入れる(ダウンロードしたファイルを確認してください) tar zxf transset-df-X.tar.gz cd transset-df-X/ make make install
- transset-df がインストールできない場合
- x11-apps のインストールでtransset/xcompmgrがインストールされるみたい(2020/09/26)
sudo apt-get install x11-apps
Guakeの設定
以下のコマンドを.bashrcなり何なりに書いておく。
xcompmgr -n & # Guake起動 guake & sleep 1 # 透過設定 transset-df --no-regex -n guake 0.8
open-browserでmarkdown文章が開けない件
概要
vimでmarkdownを記述した際に、htmlに変換してブラウザから開いて確認するプラグイン(open-browser)がいつの間にか使えなくなっていた。
原因
- ブラウザを開く際に、xdg-openコマンドを利用している。
- HTMLのファイルタイプを調べると「application/x-extension-html」になっている
- 上記のタイプのデフォルト設定を調べると「userapp-Firefox-T72HQX.desktop;」となっている
- userapp-Firefox-T72HQX.desktopが存在するディレクトリを調べると「~/.local/share/applications/userapp-Firefox-T72HQX.desktopd」となっている
- 中身を開いてみると、実行アプリケーションの設定が「Exec=/opt/firefox/firefox-bin %u」となっていた。
/opt/firefox/firefox-binを実行してみると、下記の様なエラーが表示された。
libdbus-glib-1.so.2: cannot open shared object file: No such file or directory Couldn't load XPCOM.
まともに対応するのは大変そうだったので、実行パスを「Exec=/usr/bin/firefox %u」に変更して解決した。
参考
- xdg関連コマンド使い方
関連しそうな話
調査用コマンド
# HTMLのファイルタイプの調べ方 $ xdg-mime query filetype HTMLファイル # デフォルトで利用するアプリケーションの設定 $ xdg-mime query default application/x-extension-html