WOLでUbuntuサーバを起動する

問題

ノートPCをサーバ化したい

解決

定期的にフリーズ/ハイバネートを実施して,PCの負荷を減らす.
このために,デスクトップマシンから定期的にWOLを実施する.

  • server側
    • タスクスケジューラに下記を登録
    • wakeup.exe /b:192.168.0.255 00:23:26:40:e8:e9

参照

Title : リモートコンピュータの電源を入れる wakeup for Windows 98/Me/NT4.0/2000
URL : http://www.wackyfactory.net/wakeup/

Title : Wake On LANでコンピュータを起動する − @IT
URL : http://www.atmarkit.co.jp/fwin2k/win2ktips/715wol/wol.html

Title : そこが知りたい!グリーンIT - 検証ラボ!PCの省電力度(後編):スタンバイ/休止状態で放置してみると:ITpro
URL : http://itpro.nikkeibp.co.jp/article/COLUMN/20081016/317024/

Title : Wake on LANを設定する【その2】|DesktopなLinuxの設定とか
URL : http://80286.blog62.fc2.com/blog-entry-128.html

Title : Wake on LANを設定する|DesktopなLinuxの設定とか
URL : http://80286.blog62.fc2.com/blog-entry-37.html

Title : サスペンド(スタンバイ)とハイバネーション(休止状態)の違い - myhd
URL : http://d.hatena.ne.jp/myokoym/20101021/1287665261

仮想環境の導入

問題

会社の環境で使用可能なリソースが極端になくなったので,自身のPCへ仮想環境を導入したい.
そのために, どの仮想化ソフトが使いやすいか確認する.

解決

結論から言うと,Oracle VirtualBoxを使用することにした.
これは,スナップショットが取得可能という点が良かった.
VMware Workstationはタブが使用可能であり,一度に多くの仮想マシンを管理できる点は良いのだが,
有料なので却下となった.
VMware Playerは重たいので却下とした.
リソース不足に対する応急処置として,VirtualBoxを活用する.

参照

問題

トリプルディスプレイにしたい.

一方,onBoard VGA はビデオを挿入すると完璧に無効化されている

解決

未解決.
自身のPCには,onBoard VGA拡張カードビデオカードが搭載されている.
BIOSVGAの優先度の変更を試したが,onBoard or ビデオカードの一方しか,認識しない.
ビデオカードには,HDMI, D-sub, DVIが搭載されているが,HDMIとDVIの共存ができなかった.
よって,トリプルディスプレイを実現するためには,D-sub×2, HDMIを搭載したビデオカードを購入する必要がある.

参照

表示の切り替え

問題

X Finderにて表示では、[詳細]もしくは、[縮小版]のみを使用しているが、この切り替えのためには、F12を何度も押していた。
この作業が煩わしかった。

解決

切り替えのコマンドを追加する。
[ツール] -> [キー] から右クリックをして、[規定コマンドの作成]を実施する。
一覧に、縮小版、詳細があるので、それぞれ追加する。
コマンドには、Ctrl+uを割り当てた。

参照

なし

vimでtracを操作する

問題

Tracvimで操作したい。そのほうが操作性が高いはず。

解決

tracvimを使用する。

Link : VimTrac - A vim client for the Trac wiki and ticketing system : vim online
tracvimを使用することのメリット

  • Vimの操作でTracの観覧・編集・作成ができる。
    • vimperatorでは、観覧までは問題ないが、編集・作成でIt's all textを使うのがめんどくさい
  • チケットやwikiの編集・作成時にsyntax highlightされる
  • 他のプラグインと組み合わせると便利?
作業環境

作業環境一覧 - 銀色の玉虫のメインPC環境01
Trac 0.12.2.ja1とVim7.3を使用

導入作業

Tracインストール作業
TracLightnigをインストールする。特にハマるところはない。

○ vimtracインストール
pluginに配置するも、trac.pyをうまく認識していない模様。
下記を参照し、パスの変更をする。

Link : Trac WikiVim上で編集する - Glide Note - グライドノート

Index: trac.vim
===================================================================
--- trac.vim (revision 47)
+++ trac.vim (revision 48)
@@ -132,8 +132,8 @@
     finish
 endif
 
-if filereadable($VIMRUNTIME."/plugin/trac.py")
-  pyfile $VIMRUNTIME/plugin/trac.py
+if filereadable($VIMRUNTIME."/plugins/vimtrac/trac.py")
+  pyfile $VIMRUNTIME/plugins/vimtrac/trac.py
 elseif filereadable($HOME."/.vim/plugin/trac.py")
   pyfile $HOME/.vim/plugin/trac.py
 else

vimrcの方にg:tracServerListの設定を記載しているのだが、なぜか設定されないとエラーが出てくるので、
下記のように修正

--- trac.vim (revision 48)
+++ trac.vim (working copy)
@@ -123,17 +123,17 @@
 " /usr/local/share/vim/vim71/plugin/ if you're running Vim 7.1) or from the
 " home vim directory (usually ~/.vim/plugin/).
 "
-if g:tracServerList == {}
-    finish
-endif
+"if g:tracServerList == {}
+"    finish
+"endif
 
 if !has("python")
     call confirm('Trac.vim needs vim python 2.4.4 support. Wont load', 'OK')
     finish
 endif
 
-if filereadable($VIMRUNTIME."/plugins/vimtrac/trac.py")
-  pyfile $VIMRUNTIME/plugins/vimtrac/trac.py
+if filereadable($VIMRUNTIME."/../plugins/vimtrac/plugin/trac.py")
+  pyfile $VIMRUNTIME/../plugins/vimtrac/plugin/trac.py
 elseif filereadable($HOME."/.vim/plugin/trac.py")
   pyfile $HOME/.vim/plugin/trac.py
 else

ブラウザでの確認にFiforexを使用する。本当は、firefox.exe xx.htmlファイルでそのxx.htmlをfirefox
開くようにさせたかったのだが、できないので、startを使用。
もしくは、lynxを使用可能。lynxについては下記参照

Link : Lynx for Win32 (by patakuti): Project Home Page
最初はlynxにしていたが、コマンドラインからだと設定ファイルの読み込みができていな模様。 lynxで見たいのではなく、firefoxで見たいので無視。 vim上からstartを呼ぶ方法に少しハマった。
Link : bug-note

" Firefoxを起動させる
:!start firefox http://google.com/
E371: コマンドがありません
続けるにはENTERを押すかコマンドを入力してください

次のコマンドだと、成功。

" Firefoxを起動させる
:! start firefox http://google.com/
@@ -167,8 +167,9 @@
 endif
 
 if !exists('g:tracBrowser')
-    let g:tracBrowser = 'lynx'         " For Setting up Browser view (terminal)
+"    let g:tracBrowser = 'lynx'         " For Setting up Browser view (terminal)
     "let g:tracBrowser = 'firefox'     " For Setting up Browser view (linux gui  - not tested)
+    let g:tracBrowser = ' start'     " For Setting up Browser view (linux gui  - not tested)
     "let g:tracBrowser = '"C:\Program Files\Mozilla Firefox\firefox.exe"' "GVim on Windows not tested
 endif

firefoxでブラウザの見た目を確認

Index: trac.py
===================================================================
--- trac.py (revision 47)
+++ trac.py (working copy)
@@ -233,7 +233,7 @@
         fp.write (html) 
         fp.close()
 
-        vim.command ('!' + browser +" file://" + file_name)    
+        vim.command ('!' + browser +" C:" + file_name)    
     def get_options (self):
         """ returns a list of a sites wiki pages for command completes """
         vim.command ('let g:tracOptions = "' + "|".join (self.a_pages) + '"')
@@ -1529,7 +1529,7 @@
             vim.command ('set ft=text');
             vim.command ('norm gg');
         else:
-            vim.command ('!' + browser +" file://" + file_name);    
+            vim.command ('!' + browser +" C:" + file_name);    
     def changeset_view(self, changeset, b_full_path = False):
         #if b_full_path == True:
         changeset = self.wiki.server_url.replace('login/xmlrpc' , 'changeset/' + changeset)

ここまで作業をしても、下図のようにエラー。
http://dl.dropbox.com/u/461314/python_xmlrpc_Image%202012-02-21-000.png
pythonのxmlrpc用のライブラリがDigest認証に対してうまく機能していない模様。
他に認証ができないみたいなメッセージがたくさんでていた。

FontWindows用のTracLightnigは、Digest認証で運用が始まるので、Basic認証に変更する必要がある。
下記参考に実施。

Link : Tracでベーシック認証 - へたれプログラマな日々
これで接続可能になったが、次は文字化けを起こしていた。 よって、Trac側の文字コードUTF-8に設定し、vimrcもUTF-8にした。 Trac文字コードをUTFにするためには、管理者権限でtrac.ini中のtrac文字コードを変更する。 http://dl.dropbox.com/u/461314/tracadmin_Image%202012-02-29-000.png これにあわせて、vimrcの方でも文字コードを変更しておく。

" for trac
set encoding=utf-8
lang C

以上までTrac.wikiを使用することができるようになった。

しかし、wikiで日本語を含む文章をtrac.wikiで記述した後に,
firefoxpreviewを見ようとすると、下図のように失敗している。未対策。
http://dl.dropbox.com/u/461314/tracvim_convert_error_Image%202012-02-25-004.png


colorschemeの設定

Link : TracWiki用のsyntaxハイライト - 物置き
Link : wiki.vim - Syntax file for Wikis : vim online
自分は、howm_memoのsysntaxをベースにtrac用に修正を加えておいたsysntaxを使用している。 次に、Tracへの操作を記載 する。

wiki 一覧
  • :TWServer [ServerName] でwiki一覧を表示する

http://dl.dropbox.com/u/461314/trac_wiki_Image%202012-03-01-000.png

Wikiに対する操作は下図。
http://dl.dropbox.com/u/461314/tw_command_Image%202012-03-01-000.png

TWCreate
  • TWCreate 日本語でトラックタイトル
    • PythonのUnicodeDecodeErrorが発生しているが、特に問題なく作成される
TWSave
  • 日本語のwikiでも問題なく保存可能
TWPreview
  • 日本語が含まれるwikiではエラー

http://dl.dropbox.com/u/461314/preview_trac_wiki_error_Image%202012-03-01-000.png

TWOpen {wikiタイトル}
  • TWServerをした後で、一覧表示されたwikiを選択すれば、開けるので、特に不要
ticket一覧
  • TTServer [ServerName]でticket一覧表示

Ticketに対する操作はFileter関連が多い。

下記、ヘルプから抜粋。

  • Fileter
 :TTFilterMilestone  [Milestone]                         *:TTFilterMilestone*
 :TTFilterType       [Type]                                   *:TTFilterType*
 :TTFilterStatus     [Status]                               *:TTFilterStatus*
 :TTFilterResolution [Resolution                        *:TTFilterResolution*
 :TTFilterPriority   [Priority]                           *:TTFilterPriority*
 :TTFilterSeverity   [Severity]                           *:TTFilterSeverity*
 :TTFilterComponent  [Component]                         *:TTFilterComponent*
 :TTFilterOwner      [Owner]                                 *:TTFilterOwner*

 :TTIgnoreMilestone  [Milestone]                         *:TTIgnoreMilestone*
 :TTIgnoreType       [Type]                                   *:TTIgnoreType*
 :TTIgnoreStatus     [Status]                               *:TTIgnoreStatus*
 :TTIgnoreResolution [Resolution                        *:TTIgnoreResolution*
 :TTIgnorePriority   [Priority]                           *:TTIgnorePriority*
 :TTIgnoreSeverity   [Severity]                           *:TTIgnoreSeverity*
 :TTIgnoreComponent  [Component]                         *:TTIgnoreComponent*
 :TTIgnoreOwner      [Owner]                                 *:TTIgnoreOwner*

 :TTIgnoreNoMilestone [NoMilestone]                    *:TTIgnoreNoMilestone*
 :TTIgnoreNoOwner     [NoOwner]                            *:TTIgnoreNoOwner*
 :TTFilterNoMilestone [NoMilestone]                    *:TTFilterNoMilestone*
 :TTFilterNoOwner     [NoOwner]                            *:TTFilterNoOwner*

:TTClearAllFilters                                      *:TTClearAllFilters*
    Resets the filter list to blank
:TTClearFilter [filter no]                                  *:TTClearFilter*
    Filter numbers and descriptions are displayed at the top of the ticket
    list. Using this filter will remove the filter number
:TTListFilters                                              *:TTListFilters*
  • Change Status
:TTSetMilestone  [Milestone]                                        *:TTSet*
:TTSetType       [Type]
:TTSetStatus     [Status]
:TTSetResolution [Resolution]
:TTSetPriority   [Priority]
:TTSetSeverity   [Severity]
:TTSetComponent  [Component]
:TTSetSummary    [Summary]
:TTUpdateDescrption                                    *:TTUpdateDescrption*
  • add comment
:TTAddComment
  • チケット番号を指定して開く
:TTOpen [optional_ticket_id]
  • チケットを作る
:TTCreateTask        [ticket_summary]                         *TTCreateTask*
:TTCreateDefect      [ticket_summary]                       *TTCreateDefect*
:TTCreateEnhancement [ticket_summary]                  *TTCreateEnhancement*
timeline 一覧
 :TTLServer [ServerName]                                         *:TTLServer*

自分の環境では、うまく見れない。

検索をする

TSearch {search_word}

Milestoneの一覧表示の機能はない模様。

参照

Link : svn diff
Link : vim-ref - C++でゲームプログラミング
Link : bug-note

splitbrowser.jsで画面分割

問題

ブラウザで操作可能なソフトウェアがあり、そこには操作状況を示すビューと、アクションを実施するビューがある。
アクションを実行したビューから、操作状況を示すビューへ切り替えてジョブ状況を確認するのはめんどくさい。

解決

画面分割を実施し、下に操作ビュー、上にジョブ状況ビューを表示する。
# 普段は、ログをtailしているが、ブラウザベースの改善ということで。

FirefoxアドオンのSplitBrowserと、その対応をしているvimperator用のスクリプトを導入する。
このスクリプトは大分前に知っていたが、Firefoxのプロセスを複数立ち上げて、これをMaximize Assisterで並べて、
AutoHotkeyでウィンドウアクティブを切り替える方法をずっと使っていた。
今までの方法を使いつつ、今回の方法も試してみる。

下図は:splitを実施して、画面分割した様子。
http://dl.dropbox.com/u/461314/split_Image%202012-02-28-000.png

操作ビューは、下画面で操作し、状況ビューを上に表示させて作業する。

とりあえず、覚えておけば良いコマンドは下記。

  • 画面分割
    • :split
  • 画面移動
  • 分割ウィンドウ削除
    • d

参照

Link : vimperator + SplitBrowser プラグインほぼ完成 - hogehoge @teramako
Link : Fox Splitter (旧称:Split Browser / 分割ブラウザ) :: Add-ons for Firefox

追記

画面移動をvimperatorrcに下記のように追加。

" for split browser
map sm <C-w>0
map sl <C-w>$
map ss <C-w><C-w>

タブを一画面に抑えることもできると知ったので、
作業用URLを一気にタブ開きをする。
# 下記は例。本当は作業用URL

; for split browser
 #s::
 Send,t
 Sleep,1000 
 Send,http://www.yahoo.co.jp/
 Send,{Enter}
 Send,t
 Sleep,2000 
 Send,http://www.youtube.com/?gl=JP&hl=ja
 Send,{Enter}
 return

また、この作業用に新しくFirefoxのプロファイルを作成する。
よって、現在は、下記の3プロファイル構成

  • 分割ウィンドウ用のプロファイル
    • 主にとあるソフトウェアに使用
  • 作業環境アクセス用
    • 評価環境の様々なブラウザ経由でアクセスできるソフトウェアに使用
  • 通常のブラウジング