linux

atomを起動できない問題の workaround

atomを使ってみようと, Ubuntu 15.04に公式 debパッケージを使って, インストールして起動しようとしてみたが以下のエラーが出て起動しない. line 98: 8076 Aborted (core dumped) nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME…

デスクトップ Linuxユーザにおすすめのアプリケーション

ほとんどいないだろうけど, デスクトップ Linuxユーザにおすすめ アプリケーションの紹介. shutter http://shutter-project.org/ スクリーンショット作成及び画像加工ツール. Macでいうところの Skitch. 珍しいというと良くないかもしれないですが, Perlで作…

sysfsを使って interfaceの状態を確認する

方法 "/sys/class/net/インタフェース名/operstate"を読み出せばよい 例 % ls /sys/class/net eth0 lo wlan0 % for interface in $(ls /sys/class/net) do echo -n "$interface:" cat /sys/class/net/$interface/operstate done eth0:down lo:unknown wlan0:…

file descriptorからファイル名を調べる(Linux編)

file descriptorからファイル名って引けるのだろうかと 思って調べみたところ、procfsで簡単にファイル名を得ることが できたのでそのメモ 方法 以下のコマンドでファイル名が取得できます % sudo readlink /proc/(プロセスID)/fd/(ファイルディスクリプタ) …

getmntent使用例

Man page of GETMNTENT /etc/mtabに列挙される情報を読み出すためのインタフェースの ようである。mountコマンドを引数なしで実行した場合の一覧表示に 利用されているようです。 コード 参考のために、読み出されてセットされる構造体も載せておきます。 #i…

mountシステムコールの使用例

調べてもあまり見つからなかったのでメモ。 コード 詳しくは manを参照してください。 特徴的なのは最後の引数ですかね。mountコマンドの '-o'オプションで与えるものを そのまま指定するという形です。何を指定するかは第 3引数のファイルシステムの 種類に…

デバイスが READ Onlyかどうかの判定

Linuxでは ioctlの BLKROGETコマンドを使うと read onlyか どうかが得られるようである。(Readonlyでマウントしたかどうか ではなく、デバイスレベルで Readonlyかどうかという話です) コード #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <linux/fs.h> </linux/fs.h></fcntl.h></sys/stat.h></sys/types.h></stdlib.h></stdio.h>…

SDカードに関する ID

SDカードに関する IDに関するメモ 確認 mmcblk0は場合によりかわりますので注意してください % ls -1 /sys/block/mmcblk0/device/{manfid,name,oemid} /sys/block/mmcblk0/device/manfid # 製造者 ID /sys/block/mmcblk0/device/name # Product name /sys/bl…

libudevで使う propertyを取得する

libudevに関するメモ. まだ libudevの使い方がよくわからないのですが、 基本的には該当のデバイスの情報を取ってきて、次にデバイスの属性リストを 取得して、該当する属性があるとか、属性の値が期待するものかを確認する というのが基本になるようです。 …

コンテキストスイッチの回数を調べる

Starletのヘッダとボディを合わせて出力する閾値を変更してみる - Hateburo: kazeburo hatenablog この手の記事の話でコンテキストスイッチについて出てくることが あるけど、あまり数値が併記されているものがないように思えます。 その手のプロの人が言っ…

rm -rf symlink/して不幸になりたくなければ unlinkを使えばいい

シンボリックリンクをrm -rf symlink/すると不幸になる - かーねる・う゛いえむにっき ですが、ディレクトリを消してしまうというリスクをそもそもなくして しまえばいいですよね。その答えが unlinkコマンドです。 unlinkコマンド ファイルだけ消せる rmコ…

/dev/keikyuで "ダァ!!シエリイェッス!!"

Linuxデバイスドライバを書く練習。/dev/fizzbuzzにしようかと思ったけど、 なんかあれだったので。まあ中身は fizzbuzzなんですが・・・。 ソース C言語をスクラッチから書くのは慣れない・・・. #include <linux/init.h> #include <linux/module.h> #include <linux/types.h> #include <linux/kernel.h> #include <linux/fs.h> #inclu</linux/fs.h></linux/kernel.h></linux/types.h></linux/module.h></linux/init.h>…

アクティブなウインドウを四隅に移動させる

いろいろと作業をしていると別のウインドウを見つつしたいから, ちょっと 隅まで移動させたいということがあります. マウスで移動させてもいいのですが, キーボード操作で移動できた方がいいかな, ということで書いてみました. 利用したコマンド wmctrl xpro…

Building ARM tool chain & Linux Kernel

ARMのクロスコンパイラ及び Linuxの作成手順のメモ事前に必要なものはこちらを参考にビルドしてください。 各ソフトウェアのバージョン Binutils-2.21.1 GCC-4.6.1 newlib-1.19.0 GDB-7.3 Linux Kernel 3.0.1 ビルド環境 さくらサーバの Ubuntuで行いました…

さくらサーバに pacoをインストール

さくらサーバに 'make install'で入れるものを管理するために pacoを インストールしようかと思ったのですが、CentOS 5.5の yumでは見つけられなかったので、 ソースからインストールしたので、そのときのメモ. ソース ソースはこちらpaco - a source code p…

Linux-2.6.37をビルド、インストールする

x86系統向けに Linuxをビルドしたことないなってことでビルド、 インストールをしてみた。組み込み向けだとしたことあるけど、 組み込み向けだと、大して有効にする機能もないのでね。 /boot/以下にある configファイルを見ると、いらない機能が いっぱい入…

Linux MIPSの TLBミスハンドラを見る

Linux MIPSの TLBミス時に実行されるハンドラは 'arch/mips/mm/tlbex.c'で動的に生成されています。 なんでバイナリを逆アセンブルしてもわかりません。それが理解出来れば 何やってるかわかるんだろうけど、実際どんな命令列なんだって ことでそれを調べる…

ふつうの Linuxプログラミング 5章

復習がてらに読む。 5章はシステムコールに関するシステムコールということで open, read, writeなどを使って catプログラムの作成。 課題は引数があればファイルから、引数がないなら標準入力から 読む catを作れということで書いてみた。 プログラム テス…

ThinkPad X61のキーボード設定

Ubuntu 10.10でThinkPad X61のキーボード設定を行う。 日本語キーボードのマシンなんだけど、会社のマシンを英語キーボードに してから、すべてのものを英語配列にしてるので、それに合わせた変更に なります。 はじめにキーを英語配列にします。これはsetxk…

JIS配列からUS配列への変更

メインのマシンのキーボード配列を US配列にしたので サブのマシン(日本語キーボード)も同様に修正。 Gnomeの設定からキーボードで 変更してもうまくいかず、コマンドラインから修正。 % setxkbmap -model us -layout usこれで Shift押しながら 2を押せばア…