Fedora」カテゴリーアーカイブ

percolを書き換えていい感じにzshで履歴検索できるようにする

スポンサード リンク

percolはインタラクティブに標準入力を行単位でしぼりこむためのpythonスクリプトである。百聞は一見にしかずというし,画像を見て欲しい。

デフォルト設定のpercolでファイルを選択する

デフォルト設定のpercolでファイルを選択する

画像はデフォルトでの挙動だが,Hpercolのカスタマイズについて書く。ちなみにヴァージョンは percol 0.08 のお話。
≫ 続きを読む



カテゴリー: CentOS, Debian, Fedora, Python, コマンドメモ | コメントする

GNU Screenでタブをまとめるタブ(入れ子型ウィンドウグループ)で大量のウィンドウを管理する

スポンサード リンク

はじめに

GNU screenで,タブをまとめるタブ的なUIでウィンドウグループを実現する方法を紹介する。正確には,ウィンドウをまとめるウィンドウだが。

Screenの入れ子によるウィンドウグループの実現

Screenの入れ子によるウィンドウグループの実現

(能書きはいいから,という人はとにかくお前の.screenrcを見せろをご覧ください)

みなさんは,GNU Screenで大量のウィンドウを開くときどうやって管理しているだろうか。正面から攻めるならウィンドウグループ(window group)を使うのが普通であり,すでにかなり詳しい説明がある(下URL参照)。

開発版GNU Screenで楽々ウィンドウ管理 – Keep It Simple, Stupid
これからの「GNU Screen」の話をしよう – Keep It Simple, Stupid

記事を初めて読んだときは,すごい!と思って僕もウィンドウグループを使って大量のウィンドウを捌こうとしてみた。が,ウィンドウの役割ごとに番号を決めて……という運用では定形作業なら良いけれども,適当な作業ばかりしている僕にはウィンドウと番号の関係を把握しきれないことが判明した。だからこそ,グループ化して管理したかったわけでありまして……。

まぁ,windowlistを見ろって話なんだが,そのためだけに領域を1つ消費するのは断じて許せない。しかも,「次のウィンドウに移る」,「前のウィンドウに移る」のと同じ感覚で「次のウィンドウグループに移る」,「前のウィンドウグループに移る」ショートカットキーが無いのは個人的には致命的と思う。

そこで,卜部昌平のあまりreblogしないtumblr – 俺の .screenrc が火を吹くぜにあるようなSTEM-LEAFの入れ子によって「入れ子型ウィンドウグループ」を実現することにした。

動作確認しているバージョンは Screen version 4.01.00devel (GNU) 2-May-06 および Screen version 4.02.01 (GNU) 28-Apr-14 である。
≫ 続きを読む



カテゴリー: CentOS, CUIでいこう, Cygwin, Debian, Fedora | コメントする

物理サーバーから仮想サーバーへの移行計画

スポンサード リンク

このWordpressを含め,我が家では1台のサーバーで

  • Webサーバー
  • DNSサーバー
  • ファイルサーバー
  • 録画サーバー
  • SSHサーバー(踏み台)
  • メールサーバー

と沢山の役割を担わせてきた。しかし,2010年に組み立てたシステム(CentOS 5.11 & HP MicroServer)ではいいかげん更新しなくてはならない。もちろん,旧サーバーは稼働させたままで新しいサーバーに移転したいところである。が,更新のためだけに新しくサーバーを買いたくはない。狭い自宅をこれ以上狭くできないのだ。

ということで,MicroServer上のCentOSに仮想マシンを立てて,ゆるゆると移行していくことにした。仮想サーバーならば,MicroServerが物理的にぶっ壊れても緊急避難的にWindowsのデスクトップPCで動作させられるし,テストとか,将来的な更新も楽そうだ。

仮想化の技術は VirtualBox,VMware,KVM,Zen,etc. と色々あって迷ってしまうのだが,Linuxでしか動かないKVMやプロプラのVMwareは避けてVirtualBoxを採用したいと思う。



カテゴリー: CentOS, Debian, Fedora, MicroServer | コメントする

xargsでワイルドカードを使いたいときはシェルを実行しよう

例えば,

$ ls
1.txt 1.dat 1.dat2
2.txt 2.dat 2.dat2
3.txt 3.dat 3.dat2
4.txt 4.dat 4.dat2
5.txt 5.dat 5.dat2
file.txt

$ cat file.txt
1
2
5

というときに,xargs を使ってfile.txtに書いてある数字で,拡張子が.dat*のファイル(つまり,1.dat, 2.dat, 5.dat, 1.dat2, 2.dat2, 5.dat2)に ls -l を適用したいとする。素直に書くと

$ cat file.txt | xargs -I{} ls -l {}.dat*
zsh: no matches found: {}.dat*

とエラーになる。
≫ 続きを読む

カテゴリー: CentOS, Debian, Fedora, コマンドメモ, シェルスクリプト | コメントする

カレントディレクトリはそのままにssh接続する方法

NFSでファイル共有している場合など,ディレクトリ構造が同じサーバーへssh接続するときに現在のカレントディレクトリを保持したままで,ログインしたいことがある。といってもわかりづらいかもしれない。

つまり,普通は

[user@node01 /home/user/hoge/huga] $ ssh node02
[user@node02 /home/user] $ 

といった形で,ssh接続するとhomeディレクトリに移動されるが,

[user@node01 /home/user/hoge/huga] $ ssh node02
[user@node02 /home/user/hoge/huga] $

となってほしいのである。

さてどうするか。
≫ 続きを読む

カテゴリー: CentOS, Debian, Fedora, コマンドメモ | コメントする

cshの動作がやけに遅い時は.historyファイルが肥大化しているかもしれない

先日,rungms (GAMESSの実行スクリプト,cshで書かれている)の実行にも非常に時間がかかるようになってしまい非常に困っていた。問題の切り分けをおこなったところ,csh -c ‘echo OK’ を実行するだけでもcshのプロセスがCPUを100%占有し,10分以上かかることがわかった。

最初はcshのバグか何かかと思っていたが,何気なくhomeディレクトリを眺めていたらなんと.historyファイルが肥大化(約1GB)しておった。ということで,.historyファイルを削除したら問題が解決した。履歴の読み込み(検索?)にやたら時間がかかっていたようである。

たぶん,bashとかzshでも同じようにやたら遅い時は.bash_historyとか.zsh_historyを疑ってみるといいかもしれない。

こんな単純なことに1日も費やしてしまったよ…

カテゴリー: CentOS, Debian, Fedora, 量子化学 | コメントする

GAMESSの911エラーはメモリ使用量の低減で解決

GAMESSが標準出力に

DDI Process 0: shmget returned an error.
Error EINVAL: Attempting to create 2560000000 bytes of shared memory.
Check system limits on the size of SysV shared memory segments.

The file ~/gamess/ddi/readme.ddi contains information on how to display
the current SystemV memory settings, and how to increase their sizes.
Increasing the setting requires the root password, and usually a sytem reboot.

ddikick.x: application process 0 quit unexpectedly.
ddikick.x: Sending kill signal to DDI processes.
ddikick.x: Execution terminated due to error(s).

標準エラー出力に

DDI Process 0: error code 911
ddikick.x: Fatal error detected.
The error is most likely to be in the application, so check for
input errors, disk space, memory needs, application bugs, etc.
ddikick.x will now clean up all processes, and exit...

といったエラーを吐いて停止することがある。この場合はエラーに書いてあるとおりで,共有メモリが確保できなかったのが問題となっている。

≫ 続きを読む

カテゴリー: CentOS, Debian, Fedora, Linux, 量子化学 | コメントする

GAMESSのセマフォによるエラーを解決する(Linux)

GAMESSのDDIが上手いこと動作せずに異常終了すると,セマフォが解放されずに放置されることがある。全てのセマフォを使いきってしまうと新しくGAMESSを起動することができなくなるから,手動でセマフォを解放してやる必要がある。

セマフォを使い切ったときにGAMESSが標準出力に吐くエラーメッセージはこんな感じ。

DDI Process 0: semget return an error.
semget errno=ENOSPC -- check system limit for sysv semaphores.

≫ 続きを読む

カテゴリー: CentOS, Debian, Fedora, Linux, 量子化学 | コメントする

KDEでコマンドラインからスクリーンをロックする

KDEでコマンドラインから画面をロックしたい場合はどうしたらいいのだろうか。Lock your KDE screen from the command line | Tips4Linux.com |  Tips4Linux.comによると,

Did you know you can lock your current KDE screen by using the command line? For the 3.x series use

dcop kdesktop KScreensaverIface lock

and for KDE 4.x try

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock

とのこと。僕の場合はKDE4なので端末上で qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock を実行すればスクリーンがロックされる。
≫ 続きを読む

カテゴリー: CentOS, Debian, Fedora, Linux, シェルスクリプト | コメントする

zshの右プロンプトをメモ書きスペースとして活用する

右プロンプトにメモ書きしよう

右プロンプトにメモ書きしよう


複数のシェルを起動して放置しておくと,どのシェルで何をやっていたか,何のために開きっぱなしにしていたか忘れてしまうことがある。特にGnu Screenでリタッチした直後は酷い。

そんなときはメモを残しておこう。幸い,zshなら右プロンプトという便利なスペースがある。
≫ 続きを読む

カテゴリー: CentOS, Debian, Fedora, コマンドメモ | コメントする