どうも、PCがLinuxじゃなくてUtuxになりそうなQです、こんちには。
会心の一メモ、必殺の一メモときたら、やはり痛恨の一メモも必要ですよね?いや、まったくもってどうでもいいことなんですが。
1.XSetLineAttributesの引数について
Xを使うとどうしても英語の文献に頼らざるを得ない部分が出てきます。まあ少なくとも読むことはそれほど苦痛ではなくなってきているけど。で、この関数ですがX上でwindow内に描く線の属性を設定する関数。
XSetLineAttributes(d,gc,
線の太さ、
線の種類(LineSolidとか)、
線の端点の形状、
線の交わり方の形状)
ってことらしい。
端点の形状はCapButtが四角形、CapRoundが丸ということになる。CapProjectingというのもあるが、これは「端点からさらに線の太さ半分だけ伸ばした四角形」になる。見た目はCapButtと同じ。
交わり方の形状が、JoinMiterが多分一番直感的な交わり方。「二つの線の外側のエッジの位置が一致するまで、同じだけそれぞれの線を伸ばす」って感じ。JoinRoundは要するに交点を丸くする。説明では「半径=線の太さ半分の円弧で外側のエッジを接続する」。JoinBevelは三角形で面取り。個人的には一番説明が簡単(笑)。
2.XDrawArcの位置指定
引数で円(円弧、楕円、楕円の弧)を描く位置を指定するわけですが、この位置指定の引数は円の中心ではありません。この円を内接円とする四角形の左上の座標です。直感的に勘違いしやすいのだが、おそらく円のより一般的な形といえる楕円を描くことに主眼をおいた関数なんだろうと推測されます。
3.emacsで検索、置換
検索コマンド C-s 検索したいワード
当該のワードにカーソルが飛んだ後、もう一度Ctrl + sを押すと次のワードに行く。
置換には M-x query-replace (Return) 置換前のワード (Return) 置換後のワード(Return)
当該のワードに飛ぶので置換する場合はy,しない場合はn。終了はq。
4.Roombaの電池について
Roombaの電池をいろいろ頑張っていたわけであるが、いまいちうまく行かない。というか充電して、一旦電池を外し、そしてもう一度付けるとRoombaが動く、という感じである。おそらく原因はRoombaが電池の容量や充電量を検出する機能を持っていることに起因しているのではななかろうかと思う。早い話、電池パックの中でファンを回しているので、そのファンの電流分をRoombaは充電したと思っているが実際はそんなことはないわけで、Roombaにしてみれば「この電池そろそろ寿命だよ?」という気分なのではなかろうか?
一旦電池を外せば、そのあたりのメモリーはリセットされるので「お、普通に電力あるじゃん」と思って動いてくれる、て感じではないかと。
ちなみに今積んでる電池は1年以上ほったらかしだった電池なので多分かなり死にかけ。まあ電池の特性にもよるのだろうが、1.2Vよりも少し低めの電圧で放電する、内部抵抗が大きく大電流を流すと電圧降下が大きい、という特性がある。というわけでこの電池が使いものにならなくなるまではとりあえず使ってみる。
(まあ結局Roombaの性質と合致しないバッテリーシステムなのでこの方法はダメかも・・・普通に放熱板の方が良い)
このブログ
書いてる内容
まとまらず
2009年12月20日日曜日
つまりはメモ代わりってことだろ?
どうも、食べる方の鯖も好きですが、コンピュータの鯖もそれなりに面白いと思っているQです、こんちには。
というわけで鯖構築とかちょっとメモ。最近メモばかり書いてますが要するに、まあ書いた方が良いという自分の中での需要があるから書いているわけです。
①emacs設定
CentOS,emacs 21
ホームディレクトリの.emacs内に書く。
(setq transient-mark-mode t)
範囲指定で色づけ
(global-set-key "\C-h" 'delete-backward-char)
backspaceキーをbackspaceキーとして使う。ものによると思うが、自分のPCは\C-hとして認識されていた。
(global-font-lock-mode t)
プログラムを書くときに色をつける。(バージョン22は不要)
②useradd,userdel
新規ユーザーを作る。
root権限
useradd hogehoge
passwd hogehoge
(二回パスワード)
ユーザーを削除
userdel -r hogehoge
③ftp(vsftpd)サーバーを立ち上げほか
自動起動ON
/sbin/chkconfig vsftpd on
(/sbin/chkconfig --listで自動起動するサーバーを調べられる)
起動、停止、再起動
/etc/rc.d/init.d/vsftpd start(or stop or restart)
vsftpdに限らず、httpd,sshd等も同様の方法でいける。
なお、ランレベルというものを見ると、ある起動条件下で、何が起動するかを調べることが出来る。
/etc/inittabで
id:?:initdefault
の?に入っている数字を見れば、どのランレベルで起動するか分かる。
(/sbin/telinit ?で?のランレベルに切り替え)
ランレベル3はテキスト環境
ランレベル5はグラフィカル環境
/etc/rc.d/rc1(2,3,4,5,6).d/*
で各ランレベルで何が起動し、何が起動しないか分かる。
Kで始まるリンクは起動しない(終了)
Sで始めるリンクは起動する。
数字は起動する順番(小さい方から)
④ファイアウォール、SELinux
ファイアウォールによって閉じているポートを開く。
system-config-security level
で設定画面を呼び出し、開きたいポートを指定
ファイルにはユーザーごとにアクセス権限があり、SELinuxがそれを監視している。
したがってユーザーがプログラムを介してファイルにアクセスする為にはプログラムそのもの(例えばftp)にアクセス権限を与えなければならない。
/usr/sbin/setsebool -P ftp_home_dir true
これでftpで自分のホームディレクトリにアクセスできる。
httpdで一般ユーザー権限のディレクトリ、ファイルをapacheで公開する場合は、
ファイルがあるディレクトリに対しては
chmod o+rx ディレクトリ
でその他ユーザーに実行権限・読み込み権限
途中のディレクトリに対しては
chmod o+x ディレクトリ
でその他ユーザーに実行権限(通過)を与える。
また、公開するディレクトリは
/sbin/restorecon -R ディレクトリ
を実行する。
よく分からんが、ファイルとタイプの不整合を解決するものらしい
⑤cron
定期的にコマンドを実行させる。
/etc/crontab -eで設定環境を実行
* * * * * コマンド
で設定とあるが要するに
(minute) (hour) (day) (month) (week) コマンド
ということ。
指定したmonth、day、hour、minute、weekにコマンドを実行してくれる。
9 10 11 12 * emacs
としておけば12月11日10時(AM)9分になるたびにemacsが起動する。
⑥IPアドレス、ホストネーム、arrow,denyの設定
/etc/sysconfig/network
ネットワーク全体
HOSTNAME=saba.hogehoge ホスト名
DOMAINNAME=hogehoge ドメイン名
GATEWAY=0.0.0.0 ゲートウェイのアドレス
/etc/sysconfig/network-scripts/ifcfg-eth?
デバイスごとの設定
IPADDR=192.168.1.1
NETWORK=192.168.1.0
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
/etc/resolv.conf
DNSの指定
nameserver 192.168.1.2 DNSサーバのアドレス
/etc/host.deny
アクセスを拒否するアドレス
/etc/host.arrow
アクセスを許可するアドレス(優先)
⑦各コンフィギュレーションファイル
ftp /etc/vsftpd/vsftpd.conf
http /etc/httpd/conf/httpd.conf
ssh /etc/ssh/ssh_config
見れば簡単なことはどうすれば良いか分かる。
なおsshでキーを登録した後、PCの再セットアップしたり、同じIPを持つPCで別のOSを起動したりするとキーがおかしいので認証が通らなくなる。そういう時はホームディレクトリにある
.ssh/known_hosts
の内容を消す。
⑧文字コード
apacheで公開するときコンフィギュレーションファイルの
AddDefaultCharaset UTF-8
をコメントアウトする。
これをやらないと、どんな文字コードで書いたhtmlファイルも
UTF-8として送られてしまうので文字化けする。
htmlファイル内に文字コードはかけるのでそれをクライアントに認識してもらえばよい。
結構な分量になったが、サーバー立てるときの足がかりにはなりそうだ。自分は記憶能力に難があるとしか思えないので、記憶の外部記憶としておきたいのである。
まだまだだけど、Linuxというものが以前ほど遠いところにあるものではなくなったように思う。そろそろもう一段二段上の使い方を学ぶ時期かもしれない。
あとはHDDミラーリングと停電対策をしておかないと…なんかあったら折角の設定もおじゃんである。

鯖を読む
読む暇あったら
鯖立てる
というわけで鯖構築とかちょっとメモ。最近メモばかり書いてますが要するに、まあ書いた方が良いという自分の中での需要があるから書いているわけです。
①emacs設定
CentOS,emacs 21
ホームディレクトリの.emacs内に書く。
(setq transient-mark-mode t)
範囲指定で色づけ
(global-set-key "\C-h" 'delete-backward-char)
backspaceキーをbackspaceキーとして使う。ものによると思うが、自分のPCは\C-hとして認識されていた。
(global-font-lock-mode t)
プログラムを書くときに色をつける。(バージョン22は不要)
②useradd,userdel
新規ユーザーを作る。
root権限
useradd hogehoge
passwd hogehoge
(二回パスワード)
ユーザーを削除
userdel -r hogehoge
③ftp(vsftpd)サーバーを立ち上げほか
自動起動ON
/sbin/chkconfig vsftpd on
(/sbin/chkconfig --listで自動起動するサーバーを調べられる)
起動、停止、再起動
/etc/rc.d/init.d/vsftpd start(or stop or restart)
vsftpdに限らず、httpd,sshd等も同様の方法でいける。
なお、ランレベルというものを見ると、ある起動条件下で、何が起動するかを調べることが出来る。
/etc/inittabで
id:?:initdefault
の?に入っている数字を見れば、どのランレベルで起動するか分かる。
(/sbin/telinit ?で?のランレベルに切り替え)
ランレベル3はテキスト環境
ランレベル5はグラフィカル環境
/etc/rc.d/rc1(2,3,4,5,6).d/*
で各ランレベルで何が起動し、何が起動しないか分かる。
Kで始まるリンクは起動しない(終了)
Sで始めるリンクは起動する。
数字は起動する順番(小さい方から)
④ファイアウォール、SELinux
ファイアウォールによって閉じているポートを開く。
system-config-security level
で設定画面を呼び出し、開きたいポートを指定
ファイルにはユーザーごとにアクセス権限があり、SELinuxがそれを監視している。
したがってユーザーがプログラムを介してファイルにアクセスする為にはプログラムそのもの(例えばftp)にアクセス権限を与えなければならない。
/usr/sbin/setsebool -P ftp_home_dir true
これでftpで自分のホームディレクトリにアクセスできる。
httpdで一般ユーザー権限のディレクトリ、ファイルをapacheで公開する場合は、
ファイルがあるディレクトリに対しては
chmod o+rx ディレクトリ
でその他ユーザーに実行権限・読み込み権限
途中のディレクトリに対しては
chmod o+x ディレクトリ
でその他ユーザーに実行権限(通過)を与える。
また、公開するディレクトリは
/sbin/restorecon -R ディレクトリ
を実行する。
よく分からんが、ファイルとタイプの不整合を解決するものらしい
⑤cron
定期的にコマンドを実行させる。
/etc/crontab -eで設定環境を実行
* * * * * コマンド
で設定とあるが要するに
(minute) (hour) (day) (month) (week) コマンド
ということ。
指定したmonth、day、hour、minute、weekにコマンドを実行してくれる。
9 10 11 12 * emacs
としておけば12月11日10時(AM)9分になるたびにemacsが起動する。
⑥IPアドレス、ホストネーム、arrow,denyの設定
/etc/sysconfig/network
ネットワーク全体
HOSTNAME=saba.hogehoge ホスト名
DOMAINNAME=hogehoge ドメイン名
GATEWAY=0.0.0.0 ゲートウェイのアドレス
/etc/sysconfig/network-scripts/ifcfg-eth?
デバイスごとの設定
IPADDR=192.168.1.1
NETWORK=192.168.1.0
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
/etc/resolv.conf
DNSの指定
nameserver 192.168.1.2 DNSサーバのアドレス
/etc/host.deny
アクセスを拒否するアドレス
/etc/host.arrow
アクセスを許可するアドレス(優先)
⑦各コンフィギュレーションファイル
ftp /etc/vsftpd/vsftpd.conf
http /etc/httpd/conf/httpd.conf
ssh /etc/ssh/ssh_config
見れば簡単なことはどうすれば良いか分かる。
なおsshでキーを登録した後、PCの再セットアップしたり、同じIPを持つPCで別のOSを起動したりするとキーがおかしいので認証が通らなくなる。そういう時はホームディレクトリにある
.ssh/known_hosts
の内容を消す。
⑧文字コード
apacheで公開するときコンフィギュレーションファイルの
AddDefaultCharaset UTF-8
をコメントアウトする。
これをやらないと、どんな文字コードで書いたhtmlファイルも
UTF-8として送られてしまうので文字化けする。
htmlファイル内に文字コードはかけるのでそれをクライアントに認識してもらえばよい。
結構な分量になったが、サーバー立てるときの足がかりにはなりそうだ。自分は記憶能力に難があるとしか思えないので、記憶の外部記憶としておきたいのである。
まだまだだけど、Linuxというものが以前ほど遠いところにあるものではなくなったように思う。そろそろもう一段二段上の使い方を学ぶ時期かもしれない。
あとはHDDミラーリングと停電対策をしておかないと…なんかあったら折角の設定もおじゃんである。
鯖を読む
読む暇あったら
鯖立てる
登録:
投稿 (Atom)