FLASHでフォントの一覧を取得するには
TextField.getFontList();
flexの場合には、
Font.enumerateFonts(true);
となる。
FLASHでフォントの一覧を取得するには
TextField.getFontList();
flexの場合には、
Font.enumerateFonts(true);
となる。
Illustrator要らずのパス系ツールのInkscapeです。
お仕事でEPSを描くときもInkscapeで充分です。
むしろ汚いEPSを吐き出すIllustratorよりも美しいEPSを吐き出すInkscapeのほうが、コーダにとっては評価は上です。
2009年の11月24日にバージョン0.47がリリースされていたようなので、早速入れ替えてみました。
メニューが一部変化したのと、日本語化されている場所が増えました。
操作面ではそんなに違いはなかったのですが、マスクやクリップがEPSで出力されない不具合が修正されていました。とても助かります。
あとはCMYKで出力できれば言うことなしなのですが。RGBを単純に変換しただけでもかまわないんですけどね~
SSHも便利なのだろうが、クライアントの設定も必要なので使ってない。
基本的な設定などはWebminですむので特に問題はないが、あえてGUIで操作したいときにはVNCが重宝する。
自宅のネットワークにあるLinuxは全てVNCで操作しているが、たとえば手元にない場合、VNCを使うにはどうすればいいのか試してみた。
Google先生が教えてくれたサイトの情報は古いものやどうでもいい質問掲示板などがヒットして、はっきりいって役にたたなかった。
まずVNCの基本からおさらい。
通常はVNCうを使ったリモートデスクトップ機能でログイン中のユーザの画面をそのまま扱えるが、これはログインしていなければならない。うっかり再起動したものなら、このリモートデスクトップ機能は使えなくなり、まったく操作できなくなってしまう。
そこで、リモートからログイン自体が可能にならなければならない。
とりあえず「vncserver」と入力してvncserverを起動してみると、初回ならパスワードを設定するよう求められる。
よくわからないまま放置しているがユーザごとにパスを変えられるのかはよくしらない。
次に、起動方法の設定を行う
ディスプレイ番号1をrootでログインする場合、「/etc/sysconfig/vncservers」に以下のように追加する
VNCSERVERS="1:root" VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"
あらかじめコメントアウトされている2行をコピーして数値を書き換えるだけで問題ないだろう。
それでサービスを再起動する
/etc/init.d/vncserver restart
VNCサーバーの起動に成功すれば、手順として7割終了といってもいいだろう。
複数のディスプレイをサービスで起動する方法が良くわからないので、誰か教えてください。
ちなみに0はリモート用に予約されているのか使えないので1からとなる(みたい)
アクセスするにはこのディプレイ番号に5900を足したポートに接続することになる。
つまり1なら5901ポートなので、ファイアウォールの穴を開けるのを忘れないようにする。
オプションいついては良くわからないのでそのままにしてある。(だめじゃん)
かいても最後の番号が有効になるらしい。
さて、ここでVNC Viewerでリモート接続してみる。
サーバのIPが192.168.11.2だとすると「192.168.1.2:5901」で接続する。
接続できればパスワードを求められるので入力するとログインできる。
しかし、GNOMEになれているとTwmという見慣れないGUIが表示される。
GUIなので、ターミナルからコマンドを入れれば何でも起動するのだけれど、メニューがほしい。
というかGNOMEが使えればというか使えないと意味がないので、使えるようにする。
今までの設定はVNC Serverへのログインで、そのユーザではどう表示するかの設定をする必要がある。
通常と同じにしてくれればいいのに、いちいち設定しないとだめなのは少し面倒くさい。(やり方があるのかも?)
設定ファイルは「/root/.vnc/sstartup」にあるが、隠しファイルを表示しないと見えないので注意。
「twm &」とある行をコメントアウトして「gnome-session &」と追加する。
結論から言えばここまでで成功ですが、これより理解できないことが多いので箇条書きに書いておく。
GNOMEでログインできるのは1プロセスのみ?
すでにrootでログインしていてGNOMEを使っているとVNCではGNOMEが使えないので、twmの出来損ないのような画面になる。(「twm &」に戻せばtwmで正常になる)
ログインs知恵いるユーザをログアウトさせても、GNOMEが使えない状態が残る。
システムをリブートして誰もログインせずにリモートからつなごうとすると5901ポートではなく5900ポートでリモートから接続できるようになっている。そしてGNOMEが使える。さらに、直接ログインするとそのデスクトップのリモート機能は使えない。つまり、先にリモートでログインしてしまうとリモートデスクトップ機能はしぬ。しかも、うっかりリモートをログアウトするとリモートからは永久にログインできなくなる・・・
つまり、リモートでログインしたければ、直接ログインしてはならない、うっかりログインしてしまった場合は、一度ログアウトしてログインしなおしてリモートデスクトップ機能で共有するしか方法がないようです。
この現象はGNOMEを選択した場合に限られ、twmのままであれば関係ないようです。
ちなみにユーザが違う場合は・・・やっぱり同じ現象でだめでした。
つまり・・・どういうことだ?
SSHじゃないと誰もログインしていないマシンをリモートで操作することはできないのか?
な訳ないよな・・・
だんだん混乱してきた。
vncserversの設定でroot以外を設定するとリモートからのログインができなくなった。
これはrootでvncserverを起動したからで、ほかのユーザでログインするにはそのユーザでvncserverを起動してパスワードを設定しなければならないようだ。
つまり、rootユーザ限定の前提で考えた場合、
rootでvncserverのパスを設定する。
vncserversの設定はパス設定済みのユーザを指定しなければならない。
vncserversで設定したユーザで一度ログインしてしまうとリモート系の機能は麻痺する(らしい)
う~ん、わかったようなわからないままのような。
まぁ、リモートで操作する前提なら直接ログインすることはないだろうから・・・
でもいざというときが怖いですね。やっぱりSSH入れろってか?orz=3
えらいことになった。
とりあえずTerm::ReadKeyを入れればいいらしい
[root@localhost ~]# cpan Sorry, we have to rerun the configuration dialog for CPAN.pm due to some missing parameters... Normally CPAN.pm keeps config variables in memory and changes need to be saved in a separate 'o conf commit' command to make them permanent between sessions. If you set the 'auto_commit' option to true, changes to a config variable are always automatically committed to disk.Always commit changes to config variables to disk? [no] A Build.PL is run by perl in a separate process. Likewise we run './Build' and './Build install' in separate processes. If you have any parameters you want to pass to the calls, please specify them here. Typical frequently used settings: --install_base /home/xxx # different installation directory Parameters for the 'perl Build.PL' command? [] Parameters for the './Build' command? Setting might be: --extra_linker_flags -L/usr/foo/lib # non-standard library location Your choice: [] Do you want to use a different command for './Build install'? Sudo users will probably prefer: su root -c ./Build or sudo ./Build or /path1/to/sudo -u admin_account ./Build or some such. Your choice: [./Build] Parameters for the './Build install' command? Typical frequently used setting: --uninst 1 # uninstall conflicting files Your choice: [] Please remember to call 'o conf commit' to make the config permanent! Constant subroutine __USE_POSIX undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 8, line 5. Constant subroutine __USE_POSIX2 undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 9, line 5. Constant subroutine __USE_POSIX199309 undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 10, line 5. Constant subroutine __USE_POSIX199506 undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 11, line 5. Constant subroutine __USE_XOPEN undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 12, line 5. Constant subroutine __USE_XOPEN_EXTENDED undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 13, line 5. Constant subroutine __USE_UNIX98 undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 14, line 5. Constant subroutine __USE_LARGEFILE undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 16, line 5. Constant subroutine __USE_LARGEFILE64 undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 17, line 5. Constant subroutine __USE_FILE_OFFSET64 undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 18, line 5. Constant subroutine __USE_BSD undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 19, line 5. Constant subroutine __USE_SVID undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 20, line 5. Constant subroutine __USE_MISC undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 21, line 5. Constant subroutine __USE_GNU undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 23, line 5. Constant subroutine __USE_REENTRANT undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 24, line 5. Constant subroutine _POSIX_SOURCE undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 49, line 5. Constant subroutine _POSIX_C_SOURCE undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 51, line 5. Constant subroutine _XOPEN_SOURCE undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 53, line 5. Constant subroutine _XOPEN_SOURCE_EXTENDED undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 55, line 5. Constant subroutine _LARGEFILE64_SOURCE undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 57, line 5. Constant subroutine _LARGEFILE_SOURCE undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 104, line 5. Constant subroutine __USE_ISOC99 undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 108, line 5. Constant subroutine __GNU_LIBRARY__ undefined at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/features.ph line 156, line 5. cpan shell -- CPAN exploration and modules installation (v1.9402) Enter 'h' for help. Can't ioctl TIOCGETP: 無効な引数です Consider installing Term::ReadKey from CPAN site nearby at http://www.perl.com/CPAN Or use perl -MCPAN -e shell to reach CPAN. Falling back to 'stty'. If you do not want to see this warning, set PERL_READLINE_NOWARN in your environment.
どうやらTerm::ReadKeyというものが必要なようなので、いれてみる。
cpan[1]> install Term::ReadKey CPAN: Storable loaded ok (v2.15) Going to read '/root/.cpan/Metadata' Database was generated on Tue, 15 Dec 2009 08:56:54 GMT Running install for module 'Term::ReadKey' Running make for J/JS/JSTOWE/TermReadKey-2.30.tar.gz CPAN: checksum security checks disabled because Digest::SHA not installed. Please consider installing the Digest::SHA module. CPAN: Time::HiRes loaded ok (v1.9717) Scanning cache /root/.cpan/build for sizes ............................................................................DONE CPAN: Compress::Zlib loaded ok (v1.42) CPAN: Archive::Tar loaded ok (v1.54) TermReadKey-2.30/ TermReadKey-2.30/genchars.pl TermReadKey-2.30/Makefile.PL TermReadKey-2.30/Configure.pm TermReadKey-2.30/test.pl TermReadKey-2.30/ReadKey.pm TermReadKey-2.30/META.yml TermReadKey-2.30/ReadKey.xs TermReadKey-2.30/ppport.h TermReadKey-2.30/MANIFEST TermReadKey-2.30/README CPAN: File::Temp loaded ok (v0.22) CPAN: YAML loaded ok (v0.70) CPAN.pm: Going to build J/JS/JSTOWE/TermReadKey-2.30.tar.gz Checking if your kit is complete... Looks good Writing Makefile for Term::ReadKey cp ReadKey.pm blib/lib/Term/ReadKey.pm AutoSplitting blib/lib/Term/ReadKey.pm (blib/lib/auto/Term/ReadKey) /usr/bin/perl -I/usr/lib/perl5/5.8.8 genchars.pl Writing termio/termios section of cchars.h... Done. Checking for sgtty... Sgtty NOT found. Writing sgtty section of cchars.h... Done. /usr/bin/perl /usr/lib/perl5/5.8.8/ExtUtils/xsubpp -noprototypes -typemap /usr/lib/perl5/5.8.8/ExtUtils/typemap ReadKey.xs > ReadKey.xsc && mv ReadKey.xsc ReadKey.c gcc -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DVERSION=\"2.30\" -DXS_VERSION=\"2.30\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" ReadKey.c /bin/sh: gcc: command not found make: *** [ReadKey.o] エラー 127 JSTOWE/TermReadKey-2.30.tar.gz /usr/bin/make -- NOT OK Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Failed during this command: JSTOWE/TermReadKey-2.30.tar.gz : make NO
makeに失敗しました。
しかたがないのでyumからいれてみることに
[root@localhost ~]# yum install perl-Term-ReadKey Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: rsync.atworks.co.jp * base: rsync.atworks.co.jp * extras: rsync.atworks.co.jp * updates: rsync.atworks.co.jp Setting up Install Process No package perl-Term-ReadKey available. Nothing to do
orz=3
えっと、あとはどうすればいいんだろう?
THunderbirdとはフリーのメーラです。Vistaになってからoutlookではなくこっちを使っています。
ver3がリリースされてすぐに入れ替えてしばらく使ってみました。
送信フォルダのアイコンの変更にはあえて触れない(←いや触れてるだろ)として、
新機能のタブは、ウィンドウを並べられなくなったので見比べながら入力することができなくなったので不便。
フォルダの表示法もすべてのフォルダ以外使い方勝手がいまいち(やりたいことはわかるけどもう少しどうにかならなかったのかと)で不要。
メールを複数選択したときのスレッド表示は、まとめて選択するのって一括削除前提の操作なのでインデックスを作ったり一度に内容を表示したりする処理が無駄でちと重いし、設定で変更もできなさそう。
全体的な動作についてのver2のモッサリ感はなくなったので、操作的にはいらない機能が増えたけど、使用的には良くなったのかもしれない。
Firefoxには自動的にアドオンやらプラグインやらを追加する機能がありますが、CentOSではFLASHのプラグインをダウンロードするものの導入に失敗し、手動で入れても失敗します。
Adobeのサイトからtar.gzのファイルを落として回答すると「libflashplayer.so」ファイルがあるので、「/usr/lib/mozilla/plugins」にコピーしてfirefoxを再起動すると何事もなかったように動き始めます。
さて、これでサイトのスクリーンショットの機能を試しますか、これでWindowsのcrenaから開放されるのかな?このソフトのためにクローラーにWindowsが必要だったのだけど。
Windowの場合、CPANではNOT OKがでるけど、ppmで簡単に追加できた。
Linux(CentOS)の場合、cpanではNOT OKが大量に出て、個別にモジュールを入れていっても、開発系のライブラリがほとんど入ってないためか、それぞれがNOT OKになってしまう。
結局yumから1つづつ入れていくことになった。
perl-XML-DOM
perl-DIgest-SHA
libxml2
libxml2-devel
Sys-Syslog
perl-Log-Log4perl
んだけど、ログに関するライブラリが入らない。
よくよく見ればCPANの起動時にBundle::CPANを入れろと書いてあるではないか。そういうことならと入れてみる。
何事もなく無事に終了し、Net::Amazonも難なく入った。
結局何が問題なのかって、Bundle::CPANを入れてなかったことだけが問題だったのかもしれない。
Linuxha今までCentOSを使ってきていて、設定やパスなどはredhat系のものが頭に入ってました。
今回Vine5というdebian系のマシンをいじろうと思い立ち、インストールしてwebminを入れると微妙に違う。
とりあえずApache2が見つからないといわれて、設定ファイルを見るとパスが違うらしい
/etc/httpd → /etc/apache2
/usr/sbin/httpd → /use/sbin/apache2
ということらしい
ほかにも、起動コマンドを自動に変更しないとコマンドが違うと怒られました。
PHPでの話です。といっても、PHPに限った話ではなさそうですが。
サーバでスクリプトを経由してファイルをダウンロードさせるには、Content-Typeさえ書いておけばとりあえず動いたりします。
さらにContent-Disposition: attachemnt; filename=”hoge.png”とでもしておけば、保存時のファイル名も指定できます。
で、これで満足してました。
通常の画像とかテキストであれば特に問題はなかったのですが、テキストで始まって途中にバイナリが混ざるファイル、そうPDFではだめでした。
PHPではバッファとか内部何とかとか、なくてもいい余計なものがたくさんあるので、それに振り回されます。
今回必要だったのは、mb_http_output(”pass”);
テキストで始まるものは強制的に内部エンコを行うためか、途中のバイナリが破壊されてしまうようです。それを回避するためのおまじない。
後、おまけとしてダウンロード完了までの時間を表示させるにはContent-Lengthでファイルサイズを送ってあげると親切なのかもしれません。
まぁ、しかし、これでPDFも正常にダウンロードできるようになりました。でめたしでめたし。
FLASHに頼らずJavaScriptで画像なとを扱うツールをこさえているのですが、IE7では問題なかったものがIE8でおかしくなっている。
IE8に搭載されているIE7互換モードでもだめ、どうやら純粋なIE7のレンダリングエンジンではないようだ。
問題となっているのは、非同期でimageを読んで表示を更新するものだけど、imageオブジェクトでcompleteがtrueになっているにもかかわらずwidthとheightの値が更新されていない。FirefoxやOpera、safariではもちろん正常に機能する。だめなのはIE8のみ。IE7を信じて調整を行って損した。
これからは絶対にIEを信じることはないだろう・・・