ThinkPad X60sとFedora15
もくじ イントロダァクション 手に入れた端末 うんちく AC電源 Fedora 15(32bit)のインストール WLAN設定 Audacityのインストール UA-1Gで録音 MonoDevelopのインストール MonoDevelopでC#のソースを動かす Wineのインストール LibreOfficeのインストール MOZCのインストール おわりに 番外:指紋認証デバイスの追加・低消費電力化 番外:ファイアウォール設定ツール 番外:ログインできないときは 番外:Thinkpadの特殊キーを使いたいとき 番外:ネタ 番外:JDをビルド死体 番外:FTPサーバ 番外:Sambaサーバ 番外:HTTPサーバ(Apache) + futaba.php 番外:Geditでgrepしたい 番外:Qt入れてみよう 番外:数値計算とか イントロダァクション 熱い夏ももうじきですね。今年は節電ムードで電車もあついあつい。 ふと、UA-1Gを使ってスタジオで録音したくなったのでノートPCを探しにアキバへ。 そこにあったのはシュタインズゲートの選…いや、ジャンクPC屋に埋もれてたX60sでした。 よし、今回はちょっとまゆしぃを救い・・・いや、リッチなLinuxマシンでもつくろうと思いつき購入。 やってくうちにだんだん録音と関係ないネタばかりになりましたが、備忘録ということで。。。 ※今回はプログラマネタが多いのできっとつまらないです。 ※
SambaとかSCPとかは扱っていません。デスクトップユースです。 手に入れた端末 ThinkPad X60s 起動OK, LCD OK 筐体一部割れ OSなし バッテリー死亡 ACアダプタなし ¥15000こいつぁひでえ!
ビフォアーアフター的な LCDが割れているのはさすがにちょっと面倒なので、BIOSまで問題ないものを購入。OSなんぞいるか! まだそんなに安くはないけど元が20万と考えると激安感はある。 おっことぬしさまで筐体の角が割れてるけど使ってりゃ見えないしどうでもいい(爆 うんちく はい。ここはテストには出ないので飛ばしておkです。 ThinkPad X60sの仕様はこちら X60sはちょうどCoreシリーズが載り始めたころのThinkPadで、レノボから出ているやつ。 スペックとしてはX40シリーズの正当後継と言える機種でモバイルとして使い易いサイズ。 ドライブは付いてないので外付け必須。 2006年発売なので既に5年経っているわけだが、CPUはCore系だし充分な感じはする。 さて、X60sだが、初期型と後期型で載っているCPUが違う。 今回買ったのは後期のCoreDuoの1.66GHz版(L2400)。初期はCoreDuoの1.5GHzなのでちょっとクロックは低い。 その後、マイナーチェンジでX60(訂正:X61でした)っていうのが出てこれにはCore2Duoが載っている。 なので、本当にお買い得なのがあればX60(訂正:X61でした)をおすすめする。 X41とX60sでは並べて使ってみると圧倒的にX60sの方が早いし静かです。 X60sはスペック上、Windows7も普通に動きそうな感じですが、今回はLinuxにフォーカスしてお届けしますwww AC電源 やる夫AAみたいな感じで帰ってきて、AC電源をさすと動かないお。。。 店の電源で起動チェックはしてきたので本体ではない。 動く電源つけたっていってたじゃねーか!!聞き間違いかよ!ムキーーー!! しょうがないので翌日もう一回アキバへ。。。 X60sの電源は20Vになってしまったので、X40シリーズのものは使えない。 ジャンクでも¥1500しやがる。おおおお。レノボおおお。 Fedora 15(32bit)のインストール さて、OSなしなのでまずはOSをゲットしないといけない。 イケナイ方法は使わず、よいこも真似できる超正攻法で。 最近流行りのLinux OSといえばまぁUbuntuでしょうが、正直あんまり普通過ぎて面白くない。 てか既に何回も仮想マシン作ってるから全然面白くない。 あとDebian系ではなくRedHat系がやっぱ欲しい。RedHat系でデスクトップにも使えるDistは。。。 1. Fedora 2. Scientific Linux 3. CentOS 4. Mandriva Linux 5. Vine Linux シュタゲ的にはCERNの絡んでいる「2.Scientific Linux」一択なのだが 学術用なので録音とか遊びには向かなそうだ。 まぁ、もともとRH系は鯖用途がメインだしそれはしょうがない。 「3.CentOS」は仕事でビルド鯖で使ってたのだが、最近開発が迷走しているのでちょっと敬遠。 となると、1/4/5だが、Fedoraは先月(2011/5)にGNOME3を載っけたということなので非常に興味深い素材だ。 これはUbuntuのGUIがUnityを選択したためGNOME最新GUIは今のところFedoraだけっぽい。 Fedora Core時代に一回触ってるし、これしかねぇ。 Fedora Project 個人的にLinuxデスクトップのHPは嫌いだ。先進的だの素晴らしいだの美化しすぎだっつーの。 それはさておき、まずはイメージファイルをダウンロード。 Fedora 15 デスクトップ版 GNOME3の32bit版 X60sでは64bit版は動かなかった。3回くらいやってダメだったので解析もせず放置。 ドライバ等考えると32bitの方が動きそうなので32bit版をダウンロード。 XPマシンでDeepBurnerなどでisoイメージを焼く。 で、CDドライブに突っ込んでおもむろにPowerON。 LiveCDなのでガガガガっと読み込んで起動する。LiveCDなのでこの時点ではHDDには何も書かれません。 起動したら左上の「アクティビティ」をぽちっとおすとDockみたいのが出てくる。 Dockの一番下にディスクにインストールみたいなのがあるのでクリック。 あとはここのサイトの手順でインスコした。 LiveCDだと日本語選択しても日本語にならない。英語でインストールしていってインストール終わったら 「System Settings」の「Region and Language」から日本語を選んで再起動。 参考 DVDだとうまく行くらしいが…。メディアがもったいない。 Q1. で・電源の切り方が分からない! 右上をクリック -> メニュー出現 -> ALTキーをおしてみましょう。 おおエクペリエンス!わかりづらいんじゃボケ! Q2. で・デスクトップがねぇ! GNOME3では旧世代のガラクタ置き場は許しません。 GNOME3こそ洗練された美しい姿なのです。 旧世代の人はカスタムしなさい これってどうなのよ・・・ デスクトップはアプリケーション -> アクセサリ -> ファイルで見られます。 慣れればまぁ使い易いですが…。WindowsキーとALT+TAB使いまくり。 ツールはターミナルから以下でいける。 $ sudo yum install gnome-tweak-tool こちらはroot権限ではNG $ gnome-tweak-tool やっぱこの位はやりたいよね。。。 デスクトップ表示
バーのカレンダー表示を変更
変更後は再起動しないと反映されません。ログオフでも良さそうだが一応。 ※使ってみるとGNOME3はデスクトップがすぐ出せないので 「デスクトップ表示」はあまり意味がない悪寒…。 ・Fedora 15でThinkPadのセンタースクロールを効かせる方法 こちらを参考に 以下のテキストファイルを「/usr/share/X11/xorg.conf.d/」にコピーして再起動する。 20-trackpoint.conf ・電源切るときピッってうるさい BIOSの設定で切れるよ。BIOSへは電源OFF/ONでF1メニュー連打して入る。 ・RARとかどうやんの? 定番と思われるunrarが見つからないのでmakeでインストール。 ここのRAR 4.01 for Linuxを落としてきて 端末起動。tar zxvf hogehogeで解凍。suでrootにして、makeすれば入る。 こういうのやらなきゃいけないからおすすめできないんだよなぁ…。 > unrar e file.rar ・FTPとかどうやんの? FileZillaがGUIだし個人的に使い易い。WindowsのFFFTPみたいなもの。 ・ちくしょう作ったテキストが全部UTF-8になるじゃねぇか! 我慢できなかったらWineでお気に入りのエディタを使う。 Fedora15のGEDITはなんだかしらんがShift-JISがうまく開けない…? ・いろいろ試してみたのだが、Shift-JISはどうも相性が悪い。昔からだけど。。。 今のところShift-JISファイルの編集はWine経由でNotepad++を使うのがベストかも。 サクラエディタの最新はWineではまともに動かなかった。キーバインド系に何があるようだ。 とりあえずemacsなら問題なくSJISファイルも編集できた。 どうも未だにキーバインドが慣れない。。。 ・マルチコーデック対応はこちらのサイトが詳しい。 この人詳しいな…。コマンドラインになっちゃうけど・・・。 ==================== su (パスワード入力) rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm yum install gstreamer-ffmpeg gstreamer-plugins-ugly gstreamer-plugins-bad \ gstreamer-plugins-bad-free-extras \ gstreamer-plugins-bad-nonfree ==================== これを全部入れとくといろいろと捗る。まじで 逆にこれを入れとかないとmp3エンコーダのLameが入らないのでいろんなところで困る。 Lameが入るとRythmboxとかリッピングで指定できるようになる。
WLAN設定 ぶっちゃけここまではデフォルトが日本語化されてないのが面倒なだけで日本語化してしまえば大して難しくない。 スタンドアローンでは意味が無いのでネットにつなぐ。 いきなりWLANでおk。昔のようにドライバファイルを探しにコミュニティのログを漁るなんてことはない。 WLANの設定メニューだが少し分かり辛い。 1. スタートメニュー -> ネットワーク -> 無線 を選択。 2. 無線をON(ThinkPad本体もONにするのを忘れないで) 3. ネットワーク名のところに「▽」みたいなボタンがあるのでクリック 4. その他 5. ネットワーク名(SSIDと同じでいいぽい)とセキュリティを設定
X60sの純正WLANでやればこれで繋がると思います。 繋がったらまずはアップデート。失敗したら再起動してもう一回トライ。ダメだったら要調査。。。 アクティビティ -> アプリケーション -> システムツール -> ソフトウェアの更新 あとはFlash Playerかな・・・。 ここで.rpmファイルをゲットして叩く。 Linuxはコマンドラインの方が便利な時が多い。が、なれないうちはGUIのパッケージマネージャの方が安全。 端末を立ち上げると / (root) - home - (user名)のところにいる。 cd : ディレクトリ変更 ls : そのフォルダにあるファイルを表示 su : root権限取得 sudo : root権限で実行 Fedoraのアプリはroot権限であれば大体以下のコマンドで入れられる。XXXはアプリ名。 yum install XXX Audacityのインストール インストールは簡単。ソフトウェアの追加と削除からAudacityを検索。
Multitrack audio ediorがAudacityのことなので入れる。 一応再起動したほうがいいかも。 UA-1Gで録音 UA-1G使えるかよくわからなかったのでとりあえずUSBポートにさしてみた。 あ、使えたwww
Fedora15ではALSAがデフォルトで入っているようでさすだけで動いた。 多重録音するときは入出力をUA-1Gに設定しておかないと遅延が大きすぎてエラーになる。(ちゃんと設定すれば行けそう)
意外とすんなり動いて拍子抜け感がある。良かった良かった。 ギターつないで録音テスト。 録音サンプル どうもサンプリングレートは44.1kHzの32bit float以外はなんか不安定。 ↓みたいな設定で多重録音時のブチブチノイズは消えた。 デバイス設定
録音設定
品質設定
ディレクトリ設定
MonoDevelopのインストール ここまでで目標は達成したわけだが、もうちょいいじって見たくなった。 別に職場で使うわけでもないのだが、最近デスクトップ触ってなかったので勉強がてら…。 個人的にこれから来そうな雰囲気のあるMonoDevelopっていう開発環境を入れてみた。 いわゆるJavaのようなもので.NETのソースが動くという優れもの。 .NET準拠のソフトならWindows, Linux, Macで動く、らしい。 使ってみた感じではLinuxのRADツールとしてはかなり強力と思われる。 GUIの実装方法としては最初にFixedを作らないとパーツが置けないのを除けば大体同じ。 パーツのイベントはダブルクリックではなくプロパティのシグナルから登録する。
MonoDevelopでC#のソースを動かす ちゅうわけでさっそくネットに落ちているC#サンプルを動かしてみる。 C#は説明すると長いので勉強してみてください。JavaかC++読めればできるよ! 個人的にはLinux上でGUI + C#が簡単に動いたことに衝撃を受けた。 超時代遅れ? こんな感じ。Eclipseと変わらんね。
Wineのインストール Wine いわゆるWine is not an emulator 。WindowsのアプリケーションをLinux上で実行できる環境。 歴史は結構古いので触ったことのないプログラマなら一度は触っておいた方がいい。 現状GUIのアプリケーションも相当動く。ただし完璧に動く訳ではない。 あと基本日本語環境ではない上にコミュニティ開発なので結構不安定。 パッケージマネージャでWineを検索してインストール。エディタとかゲーム等にどうぞ。 ディスクで正規版チェックしてるソフトで仮想ドライブ判定してるやつとか 日本語OSチェックしてるやつは動かないよ!やると違法かもよ!
サクラエディタはキーが動かなかったorz ちなみに今読まれているこのファイルはLinux上でWine + Notepad++で編集ちう。 もしLinuxでShift-JISの編集でハマったらこれがおすすめ。CRLFも当然問題ないし。 LibreOfficeのインストール OpenOfficeとケンカ別れ(?)になったLibreOffice。WORDとかExcelとかパワポなど作りたいときにどうぞ。 ・LibreOffice Spreadsheet Application : エクセル ・LibreOffice Drawing Application : Visio ・LibreOffice Presentation Application : パワポ ・LibreOffice Word Processor Application :ワード ぶっちゃけこれだけあればおk。OpenOfficeと何が変わったのか分からない。。。
MOZCのインストール 標準日本語入力のAnthyがちょっと不安定なのでMOZCを日本語入力にしてみる。 Anthyはなんだか知らんけど1回目の変換した時に文字が消えたりしてイライラする。 MOZCはGoogle日本語入力のLinux版。ちょっと辞書は違うけど変換性能は同等なのでおすすめ。 インストールはこれで。 # sudo yum -y install ibus-mozc デフォルトはAnthyなので以下でデフォルト日本語入力を変更する。 # ibus-setup パッケージ管理でも入れられます。
仕事で使っていてもGoogleIMEはMS-IMEより誤変換少ないので Linux上でこれだけ使えるIMEが動くというのは結構すごいことだ。 Androidでも早く動くようにならないかな。 どうもGTKをアップデートすると半角/全角キーで切り替えができなくなるらしい。(2011/7/4現在) ダウングレードすれば戻るとさ。 ダウングレードがいやな時はCtrl + Spaceで。 どうやら修正されたようだZE!(2011/7/10) てかここの方ほんと情報早いな! おわりに さぁ!このくらいできりゃノートPCとして充分だろ! と思ってたらさっそくRewriteができなくてしょぼんぬ…。 今のところかなりの安定度。結構ヘビーユースしているがほとんどクラッシュはない。 クラッシュしても不安定になることはない。 ニコ動、Youtube、Flashゴリゴリサイトも普通に動く。 タダ環境でこれはなかなかいいのではないでしょうか?相当遊べますぜ! 個人的な経験上、Linuxを試すときのコツ。 有名どこのハイスペックマシンを使う。 ハードをケチると面倒くさいことが次々に起きるので注意。 VAIOも特殊ドライバが多いのであんまよくない。やっぱThinkPadでしょ!
\
Fedora Core時代に触った時と比べるといろんなデバイスのドライバが安定していると感じた。 特にWLANのあのクソ面倒くさい手書き設定がなくなったのが非常にうれしい。 WLAN使うのにソースからコンパイルとか苦行以外の何者でもないだろ。 X60s欠点: 右手下のパームレストが超熱い! 熱源はWLANモジュールらしいけどこれじゃ乗せてられない。。。 それ以外は文句ない性能何だけどなぁ…。 指紋認証デバイスの追加・低消費電力化 2011/8/19追記 外装が割れていたのでパームレストのところだけヤフオクで購入。 1000円くらい。 ついでに指紋認証付きのものに変更した。
マザーボードには何故かコネクタが付いているので、ポン付け可能。 Fedoraも指紋認証は結構前からサポートしているようですぐ使えるようになった。
設定は、「システム設定」->「ユーザーアカウント」の「指紋認証ログイン」から。 ただ、これでログインは出来るんだけど、キーシリングでパスワード入力が必要らしく ダイアログがでてしまうのであまり便利にはならない。 セキュリティは上がるけど。。。 で、この指紋認証デバイスをつけたあとからどうもバッテリーの減りが早い。 PowerTOPで計測してみると500mW近く食っているバカ食いデバイスということ判明。 > USB device: Biometric Coprocessor (STMicroelectronics) powerTOPの「tunable」メニューでこのデバイスのAutoPowerOFFを設定できるので 絶対設定しておくことをオススメする。 (これを設定しないとバッテリー駆動が20分程度短く感じる) fedora15向けPowertopのrpmはversion1.9x系しかリリースされておらず、 このバージョンだとPowertopが実際に設定しているコマンドが表示されないっぽい。 ハマっている方がいるかもしれないのでPowertopが設定しているファイルを書いておく。 以下の一行を「/etc/rc.d/rc.local」に書き加えとけば、いちいちPowertopから設定する必要はない。 echo auto > /sys/bus/usb/devices/5-2/power/level デフォルトはlevelがonになっているので戻すときはrc.localから削除すればおk。 ファイアウォール設定ツールの場所 触っていない期間が長すぎたのと、GNOME3でメニューがガラ変されたので ファイアウォールのGUI設定ツールを探しまわるハメになった。 こちら 鯖管なら常識なのかもしれないけど、fedora出たての頃のコマンドと変わったようだ。 もうない : system-config-security-level いま : system-config-firewall ALT+F2 -> system-config-firewall で、以前はメニューから簡単にたどれたが、GNOME3のシステム設定メニューからは消えている。 どこにあるかというと アクティビティ -> アプリケーション -> その他 -> ファイアウォール オーマイガッ!これはシステム設定においてくれよ!とアメリカ人のように嘆く。 fedoraは数年前の記事を読んでしまうと余計にハマることが多いねぇ。 ログインできないときは 再インストール。するのは3日くらい悩んでからにしましょう。 いろいろいじって遊んでいたらログインできなくなった!ので対処法。 何をやってしまったかというと、ホームディレクトリを変更しようと/etc/passwdをいじくった。 アホなので、ディレクトリを作成もせずpasswdだけ書き換えて再起動したらエラーでログインできなくなった。 あたしってほんとバカ。 とかつぶやきながら回復方法を調査。録音したデータとかあるので割と必死で。 fedora15はデフォルト設定だと、GUIからはrootでログインできないっぽいので、 まずはCUIでログインさせる。 大事なことなので二回言うけど、GUIへの戻し方を書いておく、GUIへの戻し方を書いておく CTRL+ALT+F1〜7のどれかがGUIが起動してる で、本題はこちら。fedora15の場合、CTRL+ALT+F2などでCUIログインできる。 CUIにしたらrootでログイン。こっからはCUIのviまたはemacs必須。 login : root パスワードはrootの ここまでくればあとは編集したファイルを戻すか、新しくユーザを作ればいい。 vi /etc/passwd など ユーザの追加など http://kazmax.zpp.jp/linux_beginner/useradd.html Thinkpadの特殊キーを使いたいとき ThinkpadにLinuxを入れているとどうもThinkpad特有のボタンが余っていて気になる。 世の中には便利なツールがいっぱいあるものでtpbというThinkpadのボタンを全部使えるようにしてくれる ツールがあるのだ。 fedora15用のrpmはないのだけれどもfedora13用のrpmでも問題なく使えたのでご紹介。 こちら これをインストールすると/etcの下に「tpbrc」というファイルができる。 これをviとかで編集する。 ThinkVantageキーを押すとどっかのサイトにアクセスするようにしたいときは以下のコメントを外して有効にして THINKPAD /usr/bin/X11/xterm -T ntpctl -e ntpctl すぐ下に以下を追記する。 THINKPAD /usr/bin/firefox http://www.yahoo.co.jp/ で、一回ログオフして再ログインすればキーが効くようになっている! fedora15はvolumeキーでUIが出ないので困っていたがtpbを入れるとUIが出るようになります。 ちょっと感動。 こちらが詳しい(英) ネタ ------------------------------ SLがふと見たくなったので slコマンド ヘッダが見つからずmakeがエラーになったら こちらを参考に入れる yum install ncurses-devel
ちくしょういい動きしやがる…。 ------------------------------ 暇なので2ch環境を整えるメモでも書く。 5年くらい前とあんまり変わっていないな。。。 IPAモナーフォントがライセンスの関係で同梱されなくなったディストリビューションもあるようなので フォントインストールをメモっておく。昔ながらの方法が確実だが、便利なGUIツールも出てきている。 ■AAのズレはIPAモナーフォントを入れるとだいぶマシになる。 tar.gzを落としてきて解凍してttfファイルをインストール。 フォントのインストールはGUIのFontmatrixっちゅうのが使いやすいのでおすすめ。 パッケージマネージャでfontmatrixで検索かければ出てくる。 GUIは↓な感じ。
[手順] 1. ファイル -> インポートで解凍したttfファイルを選択。 2. 一覧にインストールしたフォントが出てくるのでチェックを入れる 3. 再起動 ※このツール、フォント追加時にロケール変更されることがあるっぽいので、 ファイル名とかが正しく表示できなくなったら/home/XXX/.bashrcとかに export LANG=ja_JP.UTF-8 でLANGの環境変数をもとに戻すように書いとくなどで対策。 多分localeいじってなければ特に問題はでないはず。 ■2chブラウザ JD yum install jd 王道のLinux 2chブラウザ。X60sでの個人的に好きな設定は 3ペイン表示。タブ表示なし スレビューフォントはIPAモナーPゴシックの13 ポップアップフォントはIPAモナーPゴシックの11 板・スレ一覧フォントはVL Pゴシックの10 ■Firefox + chaikaでAAフォントにはIPAモナーフォントPゴシック指定 このあたりは好みの問題でふね。。。 ------------------------------ 番外:JDをビルドしたい ちょっと自分用メモ 目的 : JDのソースコードをビルドしたい。できればEclipseで。 ※すみません。紛らわしいので、グダグダ書いていた間違った手順は消して書き直しました。(2011/9/4) ・Eclipse3.6(Hellios)インスコ パッケージマネージャから入れる。language pack for Japaneseで日本語化 ・subversive(SVNのプラグイン)導入 今時CUIってのはいろいろ捗らないのでEclipseのプラグインでやっちまいましょう。 こちら [↑とだいたい同じだけど一応手順] 1. ヘルプ -> 新規ソフトウェアのインストール 2. 「有効なソフトウェアサイト」をクリック 3. フィルタに「http://download.eclipse.org/releases/helios」と入力 「Helios Milestone Repository」を選択してOK 4. WorkWith:のドロップダウンリストに 「Helios Milestone Repository - http://download.eclipse.org/releases/helios」 が追加されるので選択 5. フィルタ入力に「subversive」と入力。ちょっと待つ. 6. Collaborationの以下2つにチェックを入れて「次へ」 - Subversive SVN JDT Ignore Extensions(Optional)(Incubation) - Subversive SVN Team Provider(Incubation) 7. そのまま進むとインストールされる。Eclipse再起動 8. ウィンドウ -> パースペクティブを開く -> その他 -> SVNリポジトリー・エクスプローラー めんどいのでショートカット登録 ウィンドウ -> パースペクティブのカスタマイズ -> ショートカット サブメニューの「ドロップダウンリストからパースペクティブを開く」 「SVNリポジトリー・エクスプローラー」にチェック 9. SVNのウィンドウが出るのでSVNリポジトリのところで右クリック 10. 新規 -> リポジトリー・ロケーションでUrlにJDのリポジトリを書く http://svn.sourceforge.jp/svnroot/jd4linux/jd/trunk 11. クラス図のリポジトリ http://svn.sourceforge.jp/svnroot/jd4linux/jd/trunk 12. ソースをチェックアウトする。srcで右クリック -> チェックアウト チェックアウトする際には新規プロジェクトウィザードで「Makefile Project with Existing Code」を選択すること。 これをやらないとEclipseでmakefileを使ってビルドできない。 参考
- プロジェクトウィザードでチェックアウト先のディレクトリを聞かれるので、jdなどのフォルダを作って指定する。 - コンパイラも聞いてくるので「Linux GCC」を指定 ■ビルド [ライブラリ] まずはINSTALLのテキストを一読しておいたほうがいい。 INSTALLテキストに書いてあるライブラリが必須。~develが入っていない場合はパッケージマネージャから入れられる。 - gtkmmは yum install gtkmm24-devel - open-sslも使ってるみたいなので「-devel」のやつをパッケージマネージャか入れる。 yum install openssl-devel - gnutlsも使ってるみたいなので「-devel」のやつをパッケージマネージャか入れる。 yum install gnutils-devel [ビルド] 1. チェックアウトしたソースのトップディレクトリにautoconfがおいてあるので作者推奨の ./autoreconf -i でconfigureを作る。(CUI) 2. configureをかける(CUI) ./configure -> ここでエラーになったらdevelのなにかが足りない。パッケージマネージャで検索して入れる。 3. フルビルドをぽちっとな キタ━━━━(゚∀゚)━━━━ッ!!
Eclipseでビルドすると生成されたバイナリが見やすい。 このバイナリは叩けば普通に使える。 ちなみにCUIでやる場合。 ./autoreconf -i ./configure make …こっちのほうが激しく楽な気もしないでもないがEclipseでやることが重要!たぶん! Eclipseでやるとプログレスバーとかでて気分的にいいよ!ちょっと重いけど! SVNの最新リビジョンのJD。
Eclipseはコールグラフとかクラスのポップアップとかすぐに使えるので 初期の構造解析には非常に便利。 コールグラフを使いたいときは、インデックス作成が必要。 プロジェクトのトップディレクトリで右クリック -> Index -> Refreshen All Files ごろ寝しながらソースコード解析してみるとコマンドラインよりEclipse使ったほうが操作が楽。 ごろ寝 + Trackpointで操作できることが重要。 マウスオーバーで画像読み込みできないかソースを見てみたけど articleviewbase.cppの中でURLをステータスバーに表示しているようだ。 ここで読み込もうとしたけど構造上結構変更が必要そう。。。
もう一点、JDの仕様で自分的に使いづらいのが右クリックメニューの画像の削除が 二段階になっているところ。特に二段にする必要を感じないのだが。。。 これもarticleviewbase.cppの中にメニューの定義がある。これは変更が簡単だったので修正してビルド。 しかしX60sはすげぇパワフルだ。 Eclipseでビルドしながらfirefoxで20タブくらい開いてJD起動してても普通に動く。 会社のPCでやったら固まるな。 番外:FTPサーバ だんだん実用的なネタも増えてきた気がするが、プログラムのテストにFTPサーバが欲しくなったのでFTPサーバとして使ってみる。 実用編は別にしようかな。。。Samba, Apacheあたりやればほとんどの機能は使えることになるし。。。 定番のvsftpd su yum -y install vsftpd ユーザーリストは「デフォルトアクセス不可」なユーザーを記載するようになっているので変更 cd /etc/vsftpd/ vi vsftpd.conf 以下を追記する userlist_deny=NO tcp_wrapperも別に使わなくていいのでコメントアウト # use tcp_wrapper for user access で、ユーザリストを全削除 vi user_list 全部消す ログインさせたいユーザを追記する。 パスワードは普通のログイン時に使うものが使われるので設定不要。 別にローカルだからどうでもいいんだけど、他ディレクトリへのアクセスを禁止しておく。 #chroot_list_enable=YES #chroot_list_file=/etc/vsftpd.chroot_list ↓ chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list chroot_listに、参照できなくするユーザーアカウントを記述する。(ファイルがなければ新規作成でおk) vi /etc/vsftpd.chroot_list ここまでで一旦vsftpdを再起動させる。vstfpd.confをいじったときはこれをやらないと反映されない。 service vsftpd restart その他、Linux側の設定 ・デーモン起動の設定 こちらが非常にわかりやすかった。 以下を実行 chkconfig --level 35 vsftpd on 確認 chkconfig --list vsftpd ・ファイアウォールの設定でftpを有効にする アプリケーション -> その他 -> ファイアウォール -> 信頼したサービス ・はまったのがSELinuxの設定。これは知らなかったorz こちら CUI : system-config-selinux GNOME3 : 「アプリケーション」->「その他」->「SELinuxの設定」 ftpでフィルタして関係ありそうなものをallowにする SELinuxはマジではまりそう。仕事でなくてよかった〜。 FFFTPでつながったらできあがり! 現状ロケールがUTF-8なのでフォルダ名がSJISでアクセスすると当然バケバケ。 FTPクライアントで接続オプションの文字コードを設定すれば綺麗に読める。 番外:Sambaでサーバ ゆるゆりの録画でもみながらSambaを入れてみよう。\アッカリーン/ Linuxをファイルサーバとして運用されている方が大半だと思う。 書き換えの多いファイルはLinuxのファイルシステムで運用すると、精神衛生上いい気もする。 http://hesonogoma.com/linux/FileSystemBenchmarkResults-01.html 個人的にはSolarisのZFSとLinuxのBtrFSがファイルサーバ用途としては本命と思っている。 が、ファイルシステムの組み込みが難しそうなのでやってない。。。もう一台マシンがあればZFSマウントしてみたいねぇ。 BtrFSはまだベータなので手を出すには早いかなと思っております。 今んとこ、コストが許されるならSSD + ZFSが最強か(あえて厨二病っぽく) 個人的には今後正式リリースが出てくるbrtfs(ばたーえふえす:B木 File System)をぜひ触ってみたい。 ここでは普通のWindows向けに公開するファイルサーバを構築してみる。 SELinuxの設定を忘れないようにすれば昔のLinuxの構築手順と一緒です。 さて、御託はどうでもよくて、まずはSambaをインストール。 su yum -y install samba 仕事で「GUI?ハァ?Viだろ常考?!」という方もいたので、ここの説明は邪道なのかもしれない。 てか普通業務用のサーバはGUI起動させないもんな。。。 が、個人利用なのでGUI設定ツールは入れておく。だってめんどくさいんだもん。 yum -y install system-config-samba ・ファイアウォールの設定 「アプリケーション」->「その他」->ファイアウォールの設定 Sambaのポートを開けておく。 シェルスクリプトで設定する場合 「/etc/sysconfig/iptables」が設定ファイルだが、正直IPv6など考えると手動設定はきつい。 アクセスのチューニングに関してもGUI使ったほうが視覚的にわかりやすいと思う。 ・SELinuxの設定も。これマジ忘れる。 CUI : system-config-selinux GNOME3 : 「アプリケーション」->「その他」->「SELinuxの設定」 -> Sambaで使いそうなとこににチェック(一応これで使えました…が合ってるか不明)
・Sambaの設定 以下のコマンドでSambaのGUI設定ツールを起動 system-config-samba GNOME3のメニューから起動させたいときは 「アプリケーション」->「その他」->「Samba」 また「その他」か。。。 ・Sambaのユーザー追加 Sambaユーザー追加にはLinuxのログイン用アカウントが必要なので必要であれば作る。 GUIツールなら大した手間もない。
Sambaの認証モードの設定。平文はダメよ。 認証モード:ユーザー 暗号化パスワード:はい
公開ディレクトリの設定
アクセス権の設定
とりあえずこれでサービス開始 service smb start サービス動作確認 service smb status vsftpdとおんなじ要領でマシン起動時に自動でデーモン起動させる設定 chkconfig smb on 設定確認 chkconfig --list smb HostPCの名前がLocalHostだとわけわからんので 以下のファイルのHost名を変更する。 /etc/sysconfig/network ifconfigでLinux側のIPアドレスチェック。 Windowsからだとこれでアクセスできる…はず。 root権限で作ったディレクトリはホームディレクトリの下にあってもアクセスできないのでちょっと注意。 基本はユーザーのホームディレクトリがアクセス可能。 あと、特に気をつける必要があるのはSELinuxの設定忘れ。 これを設定しないとchmodでアクセス権変更したのにアクセスできないよ〜。となる。 いやぁSELinuxめんどくせぇ! だいぶ、濃ゆいノートPCになってきたな。。。 番外:HTTPサーバ(Apache) Apache Killerが騒ぎを起こしたので 最新ソースをコンパイルしてインストールしてみる。 まずはApache Killer対策済みの最新ソース(2011/9/17時点)を取得。 Apache 2.2.21 とりあえず、解凍 tar zxvf httpd-2.2.21.tar.gz ディレクトリへ cd httpd-2.2.21 コンフィギュする。コンフィギュってかわいい呼び方だと思わない? ./configure configureの--prefixオプションでインストールディレクトリを変えられるがそのままで。 デフォルトは「PREFIX=/usr/local/apache」 makeする make インストールする make install 設定ファイルは「/usr/local/apache2/conf/httpd.conf」 ファイアウォールのHTTP用ポートを解除。 起動 # service httpd start
Apacheがすたーとできないんですけど!!(はかせ声) Starting httpd (via systemctl): Job failed. See system logs and 'systemctl status' for details. ・・・イカン。Apache再インストールしても、Firewall切ってもSELinux全殺ししても同じエラーで起動できん。。。なぜだ。他のブログではできてるのに。。。 どうも最近はserviceではなく、systemctlで制御するのが主流になってきているらしい。 これとか systemctl status httpd.service ここでエラーが吐かれていたらなんか足りない。 Apache起動コマンドの詳細なエラーの確認はgracefulをつけると出てくる。 /etc/rc.d/init.d/httpd graceful SSL関連のエラーが出ていたらこれを入れて再インストール ふぅ・・・ yum -y install mod_ssl いろいろやってみたんだけどうちのPCでは80ポートを何かが占有しているらしく エラーになってしまう。8080ポートに変えて再起動したらlocalhostに接続できた。 謎すぐる。。。危ないな。どうもKDE, XFCEを入れてアンインストールしたらおかしくなっていたらしい。。。 どうしようもなかったので再インストールしたらなおった。 これでいいのかって話だけど、デスクトップ環境を入れるときは気をつけましょう。 サービスを起動できたら、「http://localhost/」にアクセス。 Apacheのテストページが見えたらおk。 ローカルLANなら「http://"IPアドレス"」でアクセスチェック。 ===== ふたばのPHPスクリプトでも置いてみよう。(ぶっちゃけ結構めんどい) ■PHPモジュールのインストール まず、PHPをソースからインストール。 rpmから入れるとapacheへ自動設定しないので非常に手間がかかるので注意。 RedHat系はPHPの一部モジュールが生成されないことがあるようなので気をつける http://www.oklab.org/language_c/php5_0_2_install_bug.htm しょうがないのでこっからソースを落としてきてtar zxvfなどで解凍 .soファイルを生成するためには以下をいれておく必要があるっぽい。 yum -y install httpd-devel ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs -> libxml2がないとか言われる。ファッキン! はぁはぁ…。めんどくさくなってきた。。。 yum -y install libxml2-devel make make install 成功すると↓こんな感じ。apacheのmoduleに自動で置かれる。 [root@fedora_pc php-5.3.8]# make install Installing PHP SAPI module: apache2handler /usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/local/apache2/build/libtool' libphp5.la /usr/local/apache2/modules /usr/local/apache2/build/libtool --mode=install cp libphp5.la /usr/local/apache2/modules/ cp .libs/libphp5.so /usr/local/apache2/modules/libphp5.so cp .libs/libphp5.lai /usr/local/apache2/modules/libphp5.la libtool: install: warning: remember to run `libtool --finish /home/shin/Downloads/php-5.3.8/libs' chmod 755 /usr/local/apache2/modules/libphp5.so [activating module `php5' in /usr/local/apache2/conf/httpd.conf] Installing PHP CLI binary: /usr/local/php5/bin/ Installing PHP CLI man page: /usr/local/php5/man/man1/ Installing build environment: /usr/local/php5/lib/php/build/ Installing header files: /usr/local/php5/include/php/ Installing helper programs: /usr/local/php5/bin/ program: phpize program: php-config Installing man pages: /usr/local/php5/man/man1/ page: phpize.1 page: php-config.1 Installing PEAR environment: /usr/local/php5/lib/php/ [PEAR] Archive_Tar - already installed: 1.3.7 [PEAR] Console_Getopt - upgraded: 1.3.0 [PEAR] Structures_Graph- upgraded: 1.0.4 [PEAR] XML_Util - already installed: 1.2.1 [PEAR] PEAR - upgraded: 1.9.4 Wrote PEAR system config file at: /usr/local/php5/etc/pear.conf You may want to add: /usr/local/php5/lib/php to your php.ini include_path /home/shin/Downloads/php-5.3.8/build/shtool install -c ext/phar/phar.phar /usr/local/php5/bin ln -s -f /usr/local/php5/bin/phar.phar /usr/local/php5/bin/phar Installing PDO headers: /usr/local/php5/include/php/ext/pdo/ ■PHPの設定(今回はデフォルトでおk) /etc/php.iniのメモ ↑これでphp.iniを設定してみる apache再起動時にlibphp5.soの実行でSELinuxがギャーギャー言ってきたら chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t '/usr/local/apache2/modules/libphp5.so' ■ふたばのスクリプト設置 ふたばのスクリプトはこちら lzhはlhaで展開し、phpを/var/www/http/futaba下にコピー。(ここはApacheの公開ディレクトリによって変わる) lha e futaba051031.lzh このPHPスクリプトだが、SJISで書かれているので、Linuxサーバの場合UTF-8などに変換しないと文字化ける。 nkfコマンドで文字コードをUTF8へ変換。一応バックアップしとく。 nkf -w futaba.php > futabautf.php mv futaba.php futabasjis.php mv futabautf.php futaba.php ディレクトリ構成とパーミッションの設定(chmodで)をサイトに書いてあるとおりに設定。 SELinuxの設定がめんどくさすぎて力尽きた。ごめんなさい orz ■今すぐSELinuxを切る echo 0 > /selinux/enforce ■次回起動時からずっとSELinuxを切る /etc/selinux/config で SELINUX=disabled system-config-httpdでhttpd.conf自動生成 sudo system-config-httpd -> 手書きやっぱめんどくさいので… 「仮想ホスト」 -> 「デフォルト設定の編集」 -> 「パフォーマンス」 に公開するディレクトリを追加 ライブラリの参照位置が変わってしまうので、libphp5.soを/etc/httpd/module下にコピー PHPを実行できるように"system-config-httpd.conf"のfutabaディレクトリ設定に追記する。 vi /etc/httpd/conf.d/system-config-httpd.conf vi /etc/httpd/conf.d/system-config-httpd.conf に以下を追加 LoadModule php5_module modules/libphp5.so ここはsystem-config-httpdで追加されるところに追加 DirectoryIndex index.php index.html index.htm index.shtml futaba.phpOptions all Options ExecCGI Addtype application/x-httpd-php .php .php3 AllowOverride none 設定したら service httpd restart ブラウザで「http://localhost」に接続してみる とりあえず、キタ━(゚∀゚)━!ローカルLANの別PCからもアクセスできてるしまぁいいだろう。。。 Internal server errorになったら以下を確認 /var/log/httpd/error_log /var/log/httpd/access_log ※PHPのSELinux設定は以下でいけるっぽいが他にもあるらしくうまく動かんかった。。。 chcon -c -v -t textrel_shlib_t '/etc/httpd/modules/libphp5.so' SElinuxの設定は、おいおい追記するかも。。。 仲間内のみで運用するならこれでもいいか。。。 ちょっと危険な気がするが、自鯖をグローバルIPでつないでみるテスト。 ケータイの3G回線からアクセス。動作自体は問題なし。 ワイヤレスLANのノートPCサーバができた。特に意味はない。停電には強いかもしれない。
YahooBBのマンションタイプ回線だとネットが不安定すぎてサーバには向いてない気がする。 うちは部屋のいっぱいある賃貸なので、昼間の学生がいない時間帯だと上り下りともに10Mbps前後。 夜は2Mbps以下になることもある。 光なんだけどorz 番外:Geditでgrepしたい LinuxのGUIエディタのスタンダードGedit。 Windowsのメモ帳よりは使いやすいけどいろいろやるにはちょっとしょぼい。 特にgrepがデフォルトで入っていないのがめんどくさい。 Geditのプラグインでfile-searchっていうのがある。 が、Gedit3.x.x系では動かない。 こちらのブランチで開発版だがGedit3.x.x系対応してる。 Downloadから落として解凍して、「/home/XXX/.local/share/gedit/plugins」にコピー。 ディレクトリなければ作る。 Gedit起動して「編集」 -> 「設定」 -> 「プラグイン」 -> 「File Search」 なかなかナイスです。
個人的にはエディタはGrepと関数一覧とタグジャンプが使えれば満足なので CTAGSを使えるプラグインを入れよう。 まずはCTAGSを導入。 ここから「ctags-5.x.tar.gz」を 落としてきて解凍。 ./configure make make install 端末を起動してtagを作りたいディレクトリで ctags * tagファイルが生成される。 gedit-source-code-browser Downloadsからダウンロードしてきて解凍。「/home/XXX/.local/share/gedit/plugins」にコピー。 「編集」 -> 「設定」 -> 「プラグイン」 -> 「Source Code Browser」 にチェックを入れる。 「表示」 -> 「サイドパネル」を開いてみると、下のタブにいる。 tagファイルがあれば関数・変数・構造体などなど見られる。 こんな感じで
いいかんじですね。Windowsでも使いたい。 番外:Qt入れてみよう マルチプラットフォームGUI環境のQtでも入れてみよう。 ここから 「Linux/X11 32-bit」を落としてくる。実行権限を変更。 chmod u+x Qt_SDK_Lin32_online_v1_1_3_en.run 叩く ./Qt_SDK_Lin32_online_v1_1_3_en.run GUIのインストーラが起動するのでそのままインストール。 使い方はまだ。。。なんか操作体系が違うなぁ…。 番外:数値計算とか 「計算機屋かく戦えり」という本が中古で¥300で手に入ったので読んでみたところ あまりにかっこよすぎてX60sで意味もなく数値計算をやってみたくなった。 コンピューターと計算にはロマンがある。数学嫌いですけど! 今の組み込み屋だとあんまし触る機会がない気がするけど、 Linuxは数値計算関係が充実しているので触ってみる。 ----- まずはスクリプトでお手軽にやりたいとき。 三角関数くらいは触る機会があるかも。。。面倒な数式の反復計算をやりたいときはスクリプトがいいね。 一般人としてはこれで十分だ。 bcコマンド こちら ----- Linuxでプログラミングする利点として、GNU関係のライブラリがネイティブに使える点が あると思っています。 なので、C/C++プログラムの高速さを利用してゴリゴリ計算したい変態さんには以下がおすすめ。 数値計算入門書読みながらで自分で組むよりよっぽど早いコードになると思われ。 WindowsならCygwinじゃなく、VMWare使ってネイティブに近い状態で使うほうが使いやすい気がする。 GSL(GNU Scientific Library) 使い方は 1. gslをインストール yum install gsl-devel 2. Cソースで使いたいAPIのヘッダを以下のように読み込む。
#include 3. ここの方のサンプルコピペでcファイル作成 4. gcc test_gsl.c -lgsl -o test_gsl 5. ./test_gsl ----- こんなのもある。 GMP(GNU Multiple Precision Arithmetic Library) 使い方は 1. GMPをインストール yum install gmp-devel 2. Cソースでヘッダを読み込む#include 3. こちらにGMPのπ焼きプログラムがある。 コピペで2関数を1ファイルにまとめて作成 4. gcc test_gmp.c -lgmp -o test_gmp 5. 100万桁計算してみる。 ./test_gmp 1000000 1 > result.txt 結果。X60s(CoreDuo 1.66GHz)で100万桁 25秒 geditは結果のテキストを開いたら固まった。emacsは開ける。さすが! ----- 25.640 sec. 3.14159265358979323846264338327950288419716 9399375105820974944592307816406286208998628 0348253421170679821480865132823066470938446 0955058223172535940812848111745028410270193 ・・・略 6031561403332127284919441843715069655208754 2450598956787961303311646283996346460422090 106105779458151 面白いけど俺のアタマでは応用できましぇん。 エクセルで足りてしまうお仕事ですので。。。 つづく ----------------------------- 今後やってみたいやつ ・Handbrake使ってみる ・LinuxでAndroid環境構築 http://lap.mydns.jp/xoops/modules/xpwiki/166.html ・monodevelop + GTK#プログラミング 参考サイトさま 独学Linux うつ病 けんけんのFedora、FreeBSD勉強日記。 Codezine ↑TOP↑