φ(.. ) 備忘録
   
  

2014年5月20日火曜日

Ubuntuでリモコンを使う。その2

赤外線リモコンの設定を前回紹介したが、そんなのがなくてもipadがあればXBMCのリモコン操作が可能なことを発見した。アプリはこれ。

Official XBMC Remote - iTunes - Apple


Android版はこれ。


ios版しか試してないが、XBMCのyoutubeアドオンの検索において、デスクトップ上ですらできない日本語入力があっさりできてしまう優れもの。
これは常用してもいいかも。

2014年5月10日土曜日

Ubuntuでリモコンを使う

WindowsXPのサポート終了を契機に、XPの自作省電力TV録画PCをUbuntuに更改した。どーせならxbmcをいれて、youtubeや写真などをテレビでみれるようにしようと思い作業を開始。
使ったリモコンは、家に転がっていたやつ。

BUFFALO パソコン用地デジチューナー専用リモコン DT-OP-RC
バッファロー (2008-12-10)
売り上げランキング: 7,428

以前Vistaパソコンをメディアサーバーにしようとしてたときにかったやつ。これのいいところはドライバのインストールがいらないところ。なぜいらないかというとパソコン側はUSBキーボードがつながったと認識するから。なのでUbuntuでも普通に使える。安かったのに結構つかえるリモコンだね。
早速設定。
つなげるとUbuntuはキーボードがつながったと認識するので、リモコンボタンによる操作の割付は基本キーボードショートカットのカスタマイズで行う。Ubuntu標準のUnityをデスクトップとして使っているならその設定は、CompizConfig 設定マネージャーで可能(不具合がでているので注意。詳細は追伸参照)。インストールは以下。
$ sudo apt-get install compizconfig-settings-manager
すでにある標準のキーボードショートカットをリモコンで実施したい場合は、compizconfigの一般オプション内にあるキー割り当てで割り当てが可能。
標準のキーボードショートカットで満足できない人は、compizconfigのコマンドタブでの設定をおすすめする。こちらはボタン毎に動作するコマンドを設定することができる。もちろん自作のシェルスクリプトなどを動作させることが可能。
WindowsではAutohotkeyを常用していたため、おなじようなものがUbuntuにないか探したが最終的に自分のやりかったことはこのcompizconfigのコマンドタブでひととおりできそう。とりいそぎxbmcのリモコン操作はできるようになった。


追伸
本件。しばらく運用していたらショートカットの設定が消え去る事象が発生。その都度設定するも解決手段がわからず・・・。compizconfig設定マネージャーではなく、dconf-editorで設定して様子を見る。dconf-editorで設定後、compizconfig設定マネージャーでみると設定は消える模様。なので、しばらくcompizconfigは起動禁止してみる。
再度追伸
やっぱり設定が消える。これはログイン契機にコマンドで毎回設定するしかないな。以下のシェルを毎回起動しよっとw

#!/bin/sh
/usr/bin/dconf load / <<"EOF"
[org/compiz/integrated]
command-1='/etc/acpi/powerbtn.sh'
command-2='~/xbmc/sh/xbmc_start_stop.sh'
run-command-1=['<Control><Alt>h']
run-command-2=['<Control><Shift>b']
EOF

2014年5月5日月曜日

Ubuntuでリモートデスクトップ

Ubuntuで手軽にリモートデスクトップを実施するならvino-serverがよい。
 $ sudo apt-get install xrdp
でxrdpインストール後、ログインしてGUIから設定するだけでWindowsのリモートデスクトップ接続で普通につながる。ただし、以下の不具合がある。
・カーソルアニメーションが動作しない。常に矢印の状態。
・半角/全角キーがきかない。
常用するにはちょっと致命的。なので、私はx11vncを使うことにした。設定方法は以下。
<Ubuntu側の設定方法>
  1. vino-serverを使用するために設定したデスクトップの共有設定を削除
  2. x11vncをインストール
  3. $ sudo apt-get install x11vnc
  4. 自動起動するアプリケーションに以下を設定。※repeatをつけるとキーリピートが有効になる。
  5. $ /usr/bin/x11vnc -forever -nossl -noncache -nolookup -bg -usepw -repeat 
  6. 接続用パスワード設定
$ x11vnc -storepasswd
<クライアント側>
  1. VNC-Viewer-5.1.1-Windows-64bit.exeをインストール
  2. VNC Server欄にIPアドレス:5900を設定しConnectボタンクリックで接続可能。
接続するだけなら以上。半角/全角キーをつかうなら、IBus-Anthyとか自分使っている入力メソッドの設定を開き、「Key Binding」タブのon_offに「Zenkaku」と「Hankaku」をセットするとキーが有効になる。「Zenkaku_Hankaku」でないところがミソ!

デスクトップ画面を共有するなら上記が簡単便利。会社などで同じサーバーを複数人で使用するシチュエーションでは、デスクトップを共有しないxdmcp+Xmingがおすすめ。

超かんたんUbuntu 100%活用ガイド
佐々木 康之
技術評論社
売り上げランキング: 12,247

2014年3月21日金曜日

Cygwinでプログラミングする。『Makefile編』

プログラミングする前に、Makefileのテクニックを忘れないように書いておこう。私の会社ではソースのファイル名やオブジェクト名を直接Makefileに書く手法をとっている。この手法では作成者の意図どおりにmakeすることが可能な反面、ソースのファイル名や作成後のバイナリ名を変更したいときや、新しく開発する際に、Makefileの作成・編集が必要になってしまう。
私はこれが面倒なのでメンテフリーのMakefileを作成し流用している。
その内容は、以下。
# Makefile
CC       = /usr/bin/gcc
WINDRES  = /usr/bin/windres
CFLAGS   = -O2 -mwindows
LDLIBS   = -lpthread
.SUFFIXES: .c .o .exe
.SUFFIXES: .rc .res
SRC = $(wildcard *.c)
RES = $(wildcard *.rc)
OBJS = $(SRC:%.c=%.o) $(RES:%.rc=%.o)
TARGET = $(shell basename ${PWD}).exe
all: ${SRC} ${RES} ${OBJS} $(TARGET)
.c.o:
$(CC) ${CFLAGS} -c $< -o $@
.rc.o:
$(WINDRES) -i $< $@
${TARGET}: ${OBJS}
$(CC) ${CFLAGS} ${OBJS} $(LDLIBS) -o ${TARGET}
clean:
rm -f *.o ${TARGET} *~ *.core core
上記内容をソースフォルダ配下のMakefileにコピペしてmakeとうつだけでフォルダ名のバイナリが作成できる。複数のフォルダを作成しソース管理している場合には使えないかもしれないが、簡易開発ならこのMakefileで十分だと思う。。。。

GNU Make 第3版
GNU Make 第3版
posted with amazlet at 14.03.21
Robert Mecklenburg
オライリージャパン
売り上げランキング: 99,058

Cygwinでプログラミングする。『環境準備編』

Cygwinの環境が整ったのでプログラミングをしてみる。仕事でC言語を使ったツール開発をする必要があったのでついでにノウハウをまとめておこう。
まずは、Cygwinのsetup-x86.exeを起動し、以下をインストール。
  • gcc
  • g++
  • make
  • w32api-headers
  • w32api-runtime
  • mingw-gcc一式
次にソース管理ツールを同じくCygwinのsetup-x86.exeでインストール。私はrcsを愛用。
これでひとまずプログラミング環境は作成完了。簡単でしょw

ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道
青木 峰郎
ソフトバンククリエイティブ
売り上げランキング: 18,648

2014年2月22日土曜日

CygwinのminttyをLinux login terminalとして常用する

UbuntuなどのLinuxホストにWindowsからログインする際、poderosaのマクロを常用していた。poderosaは完成されたフリーソフトで便利であるが、私の環境ではマクロがフリーズする謎事象が発生し、ストレスとなっていた。せっかくCygwinの環境も整えたのでこの際Cygwinターミナルのminttyに切り替えようと思う。
まずは、ログインマクロをどうするかだが、最初はexpectを試した。ログインまでは問題ない。しかし日本語入力しようとするとセッションが切れる事象が発生し使い物にならなかった。この事象が回避できれば問題なく使える。
次、sshpass。これはコマンドパラメータにパスワードを書いておけばパスワードの入力をサボれるすぐれもの。こっちが本命。とても便利。インストールから使い方を書いておく。
インストールは以下。
% cd /usr/local/src
% wget http://downloads.sourceforge.net/project/sshpass/sshpass/1.05/sshpass-1.05.tar.gz
% tar zxvf sshpass-1.05.tar.gz
% cd /usr/local/src/sshpass-1.05/
% ./configure --prefix=/usr/local
% make
% make install
使い方は以下。※opensshをインストールしてない人はsetup.exeでインストールすること。
% sshpass -p 'pass' ssh user@hostname
上記のpassとuser@hostnameは適宜変更すること。
しばらく常用しているが、不具合はまったく発生していない。むしろ快適。poderosaではウィンドウサイズをかえるとresizeコマンドでいちいち設定しなおす必要があったが、そんなことをしなくてもちゃんと自動で調整してくれる。ウィンドウの透明化も可能だし文字コードまわりも安定している。

実用SSH 第2版―セキュアシェル徹底活用ガイド
Daniel J. Barrett Richard E. Silverman Robert G. Byrnes
オライリー・ジャパン
売り上げランキング: 489,114

2014年2月13日木曜日

fvwmユーザのためのAutoHotKey入門

私が入社した頃はSunOSでウィンドウマネージャーはfvwm、エディタはNEmacsというが主流であった。そのせいかWindowsをメインに使用する現在においても当時の癖が抜けず試行錯誤しながらWindowsのカスタマイズを行っている。
そのカスタマイズに最適なツールがAutoHotKeyである。
このツールはショートカットキーを自由にカスタマイズできることに加え、シャットダウンや再起動などの動作も任意のショーカットキーに割り当てることが可能で大変便利である。
ただ、カスタマイズはスクリプトライクなプログラミングが必要であり、初心者にはちょっとハードルが高いかも・・・・。ネットに転がっているスクリプトをコピペして書き換えるのが一番ラクかも。
ということでまずは、fvwmのときにつかっていたキーボードでウィンドウサイズを拡縮する機能を実装してみる。意外と簡単だった。スクリプトは以下。
#NoEnv
;============================================
;ウィンドウサイズ制御
;コンフィグ
MAX_H=1051
MAX_W=1920
^+i::
WinGet,id,ID,A
if(x%id%= ""){
WinGetPos,x%id%,y%id%,w%id%,h%id%,A
WinMove,ahk_id %id%,,x%id%,0,w%id%,MAX_H
}
Else{
WinMove,ahk_id %id%,,x%id%,y%id%,w%id%,h%id%
x%id%=
y%id%=
w%id%=
y%id%=
}
return
^+k::
WinGet,id,ID,A
if(x%id%= ""){
WinGetPos,x%id%,y%id%,w%id%,h%id%,A
WinMove,ahk_id %id%,,0,y%id%,MAX_W,h%id%
}
Else{
WinMove,ahk_id %id%,,x%id%,y%id%,w%id%,h%id%
x%id%=
y%id%=
w%id%=
y%id%=
}
return
^+j::
WinGet,id,ID,A
if(x%id%= ""){
WinGetPos,x%id%,y%id%,w%id%,h%id%,A
WinMove,ahk_id %id%,,0,0,MAX_W,MAX_H
}
Else{
WinMove,ahk_id %id%,,x%id%,y%id%,w%id%,h%id%
x%id%=
y%id%=
w%id%=
y%id%=
}
return
Ctrl + Shift + i で縦拡大、Ctrl + Shift + k で横拡大、Ctrl + Shift + j で全画面にでき、拡大状態でいずれかのショートカットキーを入力すると元に戻る。
みなさんも活用してみてはw

ウィンドウマネージャ徹底解説 fvwm―Fvwm/Fvwn95
江面 敦
テクノプレス
売り上げランキング: 1,224,284