スポンサーサイト
投稿日時 : -------- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- --:-- | スポンサー広告
Linuxのwineで動作するWindows用テキストエディタ動作比較
投稿日時 : 2007-12-18 15:10
 geditがいまいちなのでWindows用エディタをWine上で動かそうと思い、まずはWindowsで最高のテキストエディタのひとつと思われるEmEditorを試してみる。が、何やらエラーが出て起動さえできなかった。他のエディタはというと、起動はするもののメニューが文字化けしたり、日本語が入力できなかったり、突然落ちたりとみんな一長一短。いったいどのエディタがまともに動くのか、今まで使用経験のあるエディタを調べてみることにした。
 
実験に使用した環境は以下。
実験環境
PC-MV1C3E (1.0Ghz/768MB)
Ubuntu 7.10
anthy + scim
wine 0.9.51 (Windows XP として動作)

 
実験項目は以下。
項目名内容
名前エディタの名前
Ver使用したエディタのバージョン
起動起動できるかどうか
入力日本語の入力ができるかどうか
バーツールバーやメニューの日本語が正しく表示できるか
設定設定画面などのサブウィンドウの日本語が正しく表示できるか
貼付wine外のアプリから日本語をコピペしたときに正しくペーストされるか
(Firefoxからのコピペ時に文字コードが表示される現象が起きないか)
速度8万行、10MBのApacheのログファイルの処理速度
(スクロール・改行・検索などの体感速度)
選択テキスト選択したときに正しく表示できるか
(選択文字が消える現象が起きないか)
安定フリーズしたり落ちたりしないか
正規正規表現が使えるか
価格価格(フリーウェアかシェアウェアか)
評価主観的な総合評価(0~100点)

 
  以下に実験結果と総合評価を示しますが、これはあくまでも動作保証環境ではない、Linuxのwine上での動作をもとにしたものです。もともとWindows用に開発されたものなので動かなくて当然、動けばラッキーという環境での実験です。なのでWindows上での動作時の評価とはかけ離れたものになっているものもあります。そのあたりを忘れずに。
 
名前Ver起動入力バー設定貼付速度選択安定正規価格評価
Dana1.15.04axxx325520
EmEditor6.00.4xxxxxxxx42005
ez-HTML7.46xxxx040
K2Editorr.1.5.8xx020
MKEditor3.8.1-Jxxx040
MmEditor7.28x400075
Notepad++4.6095
QXEditor6.91xxxx290030
TeraPad0.91x075
UnEditorr.1.6.5x060
WZEditor5.03714080
xyzzy0.2.2.235090
サクラエディタ1.6.2.0xx045
貫太3.3.5x060
秀丸7.07x420080

 
■結果
 1位で最高評価を得たNotepad++は設定画面のタブの日本語が文字化けしているという以外は全てにおいて良好な動作。このクォリティでフリーウェアというのも素晴らしい。
 2位はxyzzy。設定次第でなんとでもなるが多少面倒臭い。機能的な問題点は特に見当たらない。Emacs好きにはたまらないのかな。
 3位は秀丸。さすが長い歴史を歩んできただけにすべてにおいて高いレベル。だがファンクションキーが文字化けしている点と、文字列を選択すると、反転した文字が表示されなくなってしまう。問題ないといえば問題ないがやっぱりちょっと作業しづらい。
 4位のWZEditorはさすが高額製品、動作の軽快さは別次元。貼付文字列の文字コードの自動判別はできないが手動で設定すれば文字化けしない。しかし選択文字とカーソルの位置がずれるバグがあるみたいで、同様の現象をWindowsでも確認できた。ちょっとこれは気になった。
 5位はMmEditor。高いレベルでまとまっている。これも貼付実験で文字コードが表示されてしまったのが難。設定いろいろいじってみたが修正できず。
 6位はTeraPad。定番人気の高機能フリーエディタ。日本語貼付エラーと、正規表現が標準で使えないのが痛い。非常に安定していて、Windowsで評価が高いのもうなずける。
 最下位は愛するEmEditor。ちょっとショック。Windowsでは最高のエディタだと思うが起動すらできなかった。wineのバージョンアップを待つしかない。
 
■総評
 難関の日本語ペースト実験は設定をいじればなんとかなるものもあるのかもしれないが、やはり自動判別できるNotepad++に分がある。xyzzyは使いこなせれば相当強そう。ということでwine上で使うならまずNotepad++。xyzzy使える人はxyzzy使ったほうがいい。秀丸信者は不具合にめげずに使う。WZEditorもカーソルがずれるバグを気にしなければ使える。
 
■Notepad++
screenshot_notepad++  Notepad++はオープンソースで開発されているプラグインで機能を拡張できるタイプのプログラマ専用ソースコードエディタ。C/C++ /Java /C# /XML /HTML /PHP /Javascript /RC resource file /makefile /ASCII art file /doxygen /ini file /batch file /ASP /VB /VBS source files /SQL /Objective-C /CSS /Pascal /Perl /Python /Lua /TCL /Assembler /Ruby /Lisp /Scheme /Properties /Diff /Smalltalk /Postscript and VHDLなどに対応している。(画像はwine上での動作)
 
Notepad++のサイトがカメレオンなデザインでSUSEっぽい。
.:: Notepad++ ::.
http://notepad-plus.sourceforge.net/uk/site.htm
 
 
■xyzzy
screenshot_xyzzy  xyzzyはEmacsライクのCUIの利点とGUIの利点を兼ね備えたちょっとマニアックなテキストエディタ。2005年からMIT Licenseのオープンソースになってる。知らなかった。(画像はwine上での動作)
 
ちーともやる気のない謎のぺぇじ
http://www.jsdlab.co.jp/~kamei/
 
 
スポンサーサイト
2007-12-18 15:10 | Linux | Comment(3) | Trackback(1)
[Ubuntu] Wineで日本語入力できるようにするメモ
投稿日時 : 2007-12-18 12:12
Ubuntu7.10 + Wine 0.9.51で日本語入力を可能にする設定メモ。
 
 「Linuxのwineで動作するWindows用テキストエディタ動作比較」の記事を書く前に少し手間取ったのがWine上のアプリでの日本語入力。入力した文字が消えたり変換すると文字化けしたり、文字の頭が1ミリだけ表示されていたりと不思議な挙動で使いものにならない。昔日本語入力できるように日経Linuxを参考に~/.wine/user.regを編集したはずだったが確認すると、追記したはずの
~/.wine/user.reg
[Software\\Wine\\X11 Driver]
"Inputstyle"="offthespot"
が見当たらない。再度追記して再起動、wineアプリを動作せるとまた記述が消えている。原因がよく分からないが、追記した箇所がエラーと見做されて自動修復でもされたのだろうか。
 少し検索するとuser.regは本来手作業で編集するのではなく、wine上のregedit.exeから編集するものらしいことがわかった。Windowsでの%userprofile%\ntuser.datにあたるファイルということか。
regedit.exe起動
$ wine ~/.wine/drive_c/windows/regedit.exe
で起動したら該当キーの「HKEY_CURRENT_USER\Software\Wine\X11 Driver」を開き、目的のInputStyleの値を確認する。するとタイプが文字列型のREG_SZのくせになんだかバイナリみたいなものが表示されている。値を変更しようとすると「この値は変更できません(だったかな?)」的なことを言われる。バックアップはとってあるし、とりあえず削除して、再度REG_SZでInputStyleを作成。まずは日経Linuxを信用して値を「offthespot」にしてみる。wineに設定をリロードさせる方法がよく分からないのでシステム再起動。その後日本語入力を試みるが状態に変化なし。
 今度は「offthespot」以外の候補で有力そうな「root」にしてみる。
regedit.exe
 結局これでうまくいったようで、設定前まではインラインで入力されていたものが、設定後はウィンドウ外で変換し確定したらキャレット位置に挿入される、という動作に変わった。
input jp on wine app
ウィンドウ左下で変換を行っている。
 
 問題点はあまり長い変換を一度には実行できないらしく、5文字ぐらいごとに入力を区切らなければ変換を確定しても何も起こらないということ。でもまあ個人的にはそんなに困ることでもないのでよしとする。
 
2007-12-18 12:12 | Linux | Comment(0) | Trackback(0)
[Ubuntu] 起動時の解像度を変更して起動ロゴを表示させる
投稿日時 : 2007-12-18 07:27
 今までノートパソコンのPC-MV1C3Eに入れてるUbuntuが、grubメニューの後画面が真っ暗になってログイン画面が出るまでそのままだった。けっこう長い間こんなもんかと思っていたが、サブマシンのデスクトップにUbuntuを入れたら起動時にUbuntuのロゴと起動進捗状況が表示されるていることに気づく。
 これはどうやら起動時に指定されている解像度がその段階では表示できない解像度であることが原因のようだ。起動時の解像度は/etc/usplash.confで指定されている。まずこの設定ファイルを修正する。
/etc/usplash.conf
# Usplash configuration file
xres=1024
yres=768

この値を以下のように書き換える。
/etc/usplash.conf
# Usplash configuration file
xres=640
yres=480
*はじめ「xres=800」、「yres=600」としたが状況が変わらなかったので同じ比率で上記の値にまで落とした。640x480はつまりVGAサイズ。
 
 続いて以下のコマンドでブートイメージファイルに設定変更を反映させる。この処理が終わるまで30秒ほど時間がかかる。
sudo itmst@mv1c3e:~$ sudo update-initramfs -u -k all
[sudo] password for itmst:
update-initramfs: Generating /boot/initrd.img-2.6.22-14-generic
update-initramfs: Generating /boot/initrd.img-2.6.20-16-generic

 
再起動するとロゴが表示されるようになっている。
 
[参考]
Linux Salad: ブートスプラッシュスクリーンの解像度を変更して黒い表示をなおそう!
 
2007-12-18 07:27 | Linux | Comment(0) | Trackback(0)
[Ubuntu] PostgreSQLのインストール・初期設定・使い方メモ
投稿日時 : 2007-12-18 06:19
PostgreSQLの基本的な使い方と初期設定メモ。
 
■PostgreSQLのインストール
Ubuntu7.10にインストールする。
$ sudo apt-get install postgresql
だけで以下のように依存パッケージを自動でインストールしてくれます。
postgresqlのインストール
$ sudo apt-get install postgresql
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
Reading state information... 完了            
以下の特別パッケージがインストールされます:
  libpq5 postgresql-8.2 postgresql-client-8.2 postgresql-client-common
  postgresql-common

■PostgreSQLのユーザ管理
 PostgreSQLはLinuxのアカウントとは別にデータベースユーザを管理している。デフォルトでpostgresというユーザのみが登録されている。とりあえずpasswdコマンドでパスワードを設定する。
$ sudo passwd postgres
新たなデータベースユーザを追加する場合はsuで、データベースの管理ユーザであるpostgresになってから行う。
itmst@mv1c3e:~$ su - postgres
パスワード: 
postgres@mv1c3e:~$ createuser -P itmst
Enter password for new role: 
Enter it again: 
Shall the new role be a superuser? (y/n) y
CREATE ROLE

■新規にデータベースを作成する
 以下のようにcreatedbコマンドでmydbというデータベースを作成。引数にデータベース名を指定。もし指定がなければcreatedbコマンドを実行したユーザ名と同名のデータベースが作成される。先ほどユーザitmstをデータベースの管理ユーザとして登録したのでこのcreatedbコマンドが実行可能になっている。
itmst@mv1c3e:~$ createdb mydb
CREATE DATABASE

 
■psqlコマンドでデータベースに接続する
 psqlはPostgreSQLの最も基本的なデータベースクライアント。引数に接続するデータベース名を指定する。ここではさっき作成したmydbを指定している。接続できると対話モードに移行する。
itmst@mv1c3e:~$ psql mydb
Welcome to psql 8.2.5, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

mydb=# 
 プロンプトが「mydb=#」となり、データベース「mydb」に正常に接続できていることが分かる。ここからはpsqlの内部コマンドとSQLコマンドを使ってデータベースを操作していく。psqlの内部コマンドは「\」で始まり、大文字・小文字を区別する。SQLコマンドは「\」は不要で、大文字・小文字の区別もない。実行可能なSQLコマンドはpsql内部コマンドの「\h」を使う。
mydb=# \h
Available help:
  ABORT                     CREATE OPERATOR CLASS     END                       

  ALTER AGGREGATE           CREATE OPERATOR           EXECUTE                   

  ALTER CONVERSION          CREATE ROLE               EXPLAIN                   

  ALTER DATABASE            CREATE RULE               FETCH
(省略)  
引数にコマンド名を指定すると個別のヘルプを参照できる。psqlの内部コマンドを確認するには以下のように「\?」を実行。
mydb=# \?
General
  \c[onnect] [DBNAME|- USER|- HOST|- PORT|-]
                 connect to new database (currently "mydb")
  \cd [DIR]      change the current working directory
  \copyright     show PostgreSQL usage and distribution terms
  \encoding [ENCODING]
                 show or set client encoding
  \h [NAME]      help on syntax of SQL commands, * for all commands
  \q             quit psql
  \set [NAME [VALUE]]
                 set internal variable, or list all if no parameters
  \timing        toggle timing of commands (currently off)
  \unset NAME    unset (delete) internal variable
  \! [COMMAND]   execute command in shell or start interactive shell
(省略)  

終了するときは上記ヘルプにある通り、psqlの内部コマンドである「\q」を実行する。
mydb-# \q
itmst@mv1c3e:~$
データベースから切断し、プロンプトが通常に戻った。
 
■ネットワーク経由の接続を許可する設定
 デフォルトではlocalhost(127.0.0.1)からの接続しか許可しない設定になっている。これをLAN(192.168.0.0/24)からのTCP/IP接続を許可するように設定を変更する。
/etc/pstgresql/8.2/main/postgresql.conf
# listen_addresses = 'localhost'
この行を以下のように書き換える。
/etc/pstgresql/8.2/main/postgresql.conf
listen_addresses = '*'
さらにもうひとファイル修正する。
/etc/pstgresql/8.2/main/pg_hba.conf
host  all  all  192.168.0.0/24  md5
という記述を追加する。設定反映を反映させるにはpostgresqlサービスに設定をリロードさせる。サービス名はバージョン番号がついた「postgresql-8.2」になっている。
$ sudo service postgresql-8.2 relaod

 
正しく設定できているか192.168.0.0/24内の別ホストから接続する。
$ psql -h <ホスト名 | IPアドレス> -U <データベースユーザ名> -d <データベース名>

192.168.0.4/24 から192.168.0.3/24のデータベース「mydb」に接続
itmst@vt550:~$ psql -h 192.168.0.3 -U itmst -d mydb
Password for user itmst: 
Welcome to psql 8.2.5, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)

mydb=# 
プロンプトが「mydb=#」になりネットワーク越しに接続できることが確認できた。
 
■サービスの自動起動設定
 Ubuntuではインストール後自動的にシステム起動時にサービスが起動するように設定される。この設定を変更するにはsysv-rc-confコマンドを使う。以下のようにランレベルごとの自動起動のON/OFFを切り替えることができる。
初期状態確認→OFF→変更確認→ON→変更確認
itmst@mv1c3e:~$ sysv-rc-conf --list | grep postgresql
postgresql-8 0:off      1:off   2:on    3:on    4:on    5:on    6:off
itmst@mv1c3e:~$ sudo sysv-rc-conf postgresql-8.2 off
itmst@mv1c3e:~$ sysv-rc-conf --list | grep postgresql
postgresql-8 0:off      1:off   2:off   3:off   4:off   5:off   6:off
itmst@mv1c3e:~$ sudo sysv-rc-conf postgresql-8.2 on
itmst@mv1c3e:~$ sysv-rc-conf --list | grep postgresql
postgresql-8 0:off      1:off   2:on    3:on    4:on    5:on    6:off

 
この後のSQLコマンドによるデータベースの構築は以下を参照。
PostgreSQL 入門第2回:PostgreSQL 有効活用術
 
2007-12-18 06:19 | Linux | Comment(2) | Trackback(1)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。