mieki256's diary



2014/07/14(月) [n年前の日記]

#1 [prog][cg_tools] Gaucheをインストールしてみた

GIMP の Script-fu を書く際に、ちょっと苦労していて。 そこで試しに、 _Gauche という Scheme処理系をインストール。環境は Windows 7。

_Gauche - A Scheme Implementation から、Gauche-mingw-0.9.3.3.msi をDL。とりあえず、C:\Gauche\ 以下にインストールした。環境変数 PATH への追加はインストーラが自動でやってくれる模様。

DOS窓を開いて gosh と打つと、「gosh>」と表示されて入力を受け付ける状態になった。例えば (+ 1 2) などと打ち込めば動作確認ができる。当てずっぽうで (exit) と打ったら終了してくれた。

このままDOS窓上で作業するのはツライ感じがしたので、xyzzy 上で使えるようにする。以下を参考に作業。scheme-mode を導入して、~/.xyzzy を修正。

_xyzzy - WikiWikiFun
_matsuoka/scheme-mode-for-xyzzy - GitHub

M-x make-scheme-scratch すると、バッファが開く。C-RET を打つと「gosh>」と出てきた。

#2 [prog][cg_tools] gimp-shell.el等が気になる

Script-fu を書くなら、gimp-shell.el や script-fu-shell.rb を使えたほうがいいのかなと思えてきたり。ただ、導入の仕方が…。Windows上で動くかどうかも不明だし。

_gimp-shell.el / gimp-mode を使ってみた | anobota
_Emacs で Script-Fu を書いて実行させる / script-fu-shell.rb | anobota
_pft/gimpmode - GitHub

script-fu-shell.rb を試してみた。 :

_Emacs で Script-Fu を書いて実行させる / script-fu-shell.rb | anobota を参考にして動作確認を試みたり。

環境は、Windows7 + GIMP 2.8.10 Portable + Ruby 1.9.3 p545 mingw32版。

結果を先に書いておくと、動きそうだけど微妙に動かなかった。

試した手順をメモ。 _sonota/script-fu-shell - GitHub から一式をDL。解凍。

  1. script-fu-shell-init.scm を GIMP 2.8.10 Portable に追加。
  2. GIMPを起動
  3. Script-fu → Script-fu → サーバスタート
  4. ruby script-fu-shell.rb を実行。
  5. (gimp-display-new (car (gimp-image-new 640 480 0))) と打つ。
これで、GIMP上で新規画像が作成されるはずなのだが…。

まず、以下のエラーメッセージが出てくる。
script-fu-shell.rb:190:in `run': undefined local variable or method `line' for #<ScriptFuShell:0x21128d0> (NameError)
        from script-fu-shell.rb:264:in `<main>'
script-fu-shell.rb の 190行目に、
      Readline::HISTORY.pop if dup_or_blank?(line)
と記述があるが、line なんて変数は定義されてない。オリジナルソースは、作者の手元で動いていたのだろうか…。何故動いていたのだろう…。

とりあえず192行目に、
      line = prepare_line(raw_line)
という記述があるので、190行目を、その下に移動してみた。

再度試してみたけれど。
> (gimp-display-new (car (gimp-image-new 640 480 0)))
=> Error: (<unknown> : 61562155) eval: unbound variable: item->string
「item->string なんて知らねえよ」と文句を言われてしまった。

item->string は、script-fu-shell-init.scm 内で定義されてる。Script-fuサーバが返してきた値について、コンソールに出力するために文字列へと変換する処理を担当しているのだと思う。script-fu-shell-init.scm をGIMPに追加したはずなので、item->string が使えそうな気がするのだけど、反映されてないのだろう。どうやって反映させたらいいのか分からない。

136行目に、
    send_raw %Q{(item->string #{script.strip})}
という記述があったので、試しに、
    send_raw %Q{(#{script.strip})}
と書き換えてみたが、一応コマンド?は送られて新規画像が作成されるものの、
> (gimp-display-new (car (gimp-image-new 640 480 0)))
=> Error: (<unknown> : 83411614) illegal function
と表示されてしまう。(1) というリストが返ってきてるけど、DOS窓に表示しようもなくてエラーになっているのかなと。

やはり item->string を Script-fu に認識させないといかんらしい。もしくは Rubyスクリプト側で、リスト値その他を判別して文字列に変換する処理ができれば…。そんなことができるのかわからんけど。

GIMP の Script-fu のマズイ点は、動作確認がやりづらい点だと思うわけで。そこらへんをどうにかできないものかと…。

#3 [mysql] MySQLについて勉強中

VMware Player + Ubuntu 12.04LTS 上で MySQL とやらを勉強してみようかなと。

インストール。 :

以下でインストールできるらしい。
sudo apt-get install mysql-server
既に入ってた。自分、どこかの段階でインストールしていたらしい。

文字化け解消用の設定。 :

ググってみたら、文字化け解消用の設定をしておかないといかんそうで。/etc/mysql/my.cnf を編集する。
sudo vi /etc/mysql/my.cnf

以下を追加。
[client]
default-character-set = utf8

[mysqld]
character-set-server = utf8
skip-character-set-client-handshake

古い解説ページでは、
[mysqld]
default-character-set = utf8
等の指定があるが、そのようにすると起動時にエラーが出て起動してくれない。

_MySQL 5.5で「default-character-set」が使えず文字化けする→「character-set-server」にするとOK | KennyQi で解説されてた。どこかのバージョンで、character-set-server という記述に変わったらしい。

サービスを再起動。
sudo service mysql restart

rootパスワードを再設定。 :

MySQL root のパスワードを忘れてしまった…。mysql -u root -p と打ち込んで、パスワードを入力しても弾かれる。仕方ないので再設定する。

サービスを停止。
sudo service mysql stop

パスワードなしでログインできるようにする。
mysqld_safe --skip-grant-tables

別の端末?シェル?を開いてから、ログイン。…一つ前のコマンドを打つ時に、最後に「&」をつけてやるべきだったかも。
mysql -u root mysql

パスワードを初期化。
update user set password='' where user='root' and host='localhost';
FLUSH PRIVILEGES;
exit

プロセスを殺す。
sudo killall mysqld
killall って何だろうとググってみたら、kill はプロセスIDを指定して殺すけど、killall はプロセス名を指定して殺せるらしい。

パスワードなしでログインできるか確認。
mysql -u root
exit

パスワードを設定。
sudo mysqladmin password -u root 新しいパスワード

パスワードなしでもログインできてしまうか確認。
mysql -u root
以下のような感じで弾かれるはず。
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

パスワードを指定してログインできるか確認。
mysql -u root -p
パスワードを入力すれば welcome と言ってくれるはず。exit で抜ける。

参考ページ。 :


以上、1 日分です。

過去ログ表示

Prev - 2014/07 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project