投稿者「sasakima-nao」のアーカイブ

Mac x86_64

さて、筆者もついに Mac を手に入れた。
これで Mac 向けアプリの開発、をするかどうか今は解らない。

ところで Mac 向けアプリの C コンパイラは UNIX 系なので gcc である。
困ったことに Xcode 付属品らしい、つまり Xcode を入れる必要がある。

App Store から落とす、って Xcode って 2.57GB もあるんかい!
単なるアプリケーションなのに Fedora iso の二倍って何だよ。
Linux アプリはデカくてもキロバイト単位なので本当にウンザリする。

インストールが終わって即使おうと思ったが gcc が見つからない。
C言語入門 – MacでC言語 – コンパイラ(gcc)のインストール – Xcode – Command Line Tools – Webkaru
こんなページを見つけたけど Yosemite では一度起動すれば自動で入った。

gcc で C/C++ – L’Isola di Niente
OS X はたしか 64bit だったはず。
コンパイラが gcc だから Linux x86_64 と同じ結果になると思う。
上記ページの x86_64 サイズ確認コードを動かしてみる。

以前は sizeof の値を %d にしていたのだが %lu にしろと Warning が出た。
Mac の gcc は Linux より警告レベルを高く設定しているようだ。
ということで %lu 指定に書き換えて普通にビルド、そして実行。

x86_64

やはり Linux x86_64 とまったく同じだね。
日本語を扱う場合は UCS-4 だということに注意しよう。
てか UTF-16 なのは Windows だけなんだが。

しかし /usr/include ディレクトリが存在しないぞ。
スタジオエッチはドコにあるのだ?

stdioh

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include
にあった、なるほど Xcode 必須なわけだ。

まあ Xcode のエディタは思っていたよりシンプルで使えそう。
エディタを探そうと思ったけどコレを使いこなしたほうがよさげ。
というか、なるべくアプリは少なくしたい、デカいのはもう嫌。
私的に必須な逆インデントのショートカットキーもあるので問題ない。

no_modeline

さすがに modeline は使えなかった、惜しい。
ちなみに Gedit は Yosemite では起動すらできなかった。

Connect of Linux and Mac

実は最近 MacBook Air 13inch を買った。
US キーボードだぜ、これでスタバでドヤ顔できるze!
行かないけど、おまけに中古だけど。

GNOME べったりな筆者に何が起こったのだ?
と思われても困る、ずっと前から欲しかったんだし。

サイトを持っていると Mac Safari での表示確認をしたくなるジャン。
プログラミングネタで Mac でのコンパイル結果も書きたいジャン。
US キーボードでないと打ち間違える筆者にはありがたい豊富な US キー中古。
しかも筆者は iPhone 持ちだ、欲しいに決まっている。

いや、MacBook を買おうか本気で迷って出るのを待っていたんだが。
実物に触りペコペコキーボードに萎えて勢いで中古を選んでしまったオチ。

中古だけどとっとと Yosemite に更新。
Safari で自サイトの表示確認、うん問題無かった。
WebKit だから CSS3 は問題ないと思っていたけど安心した。

さて、筆者がまず行うのは Linux との接続ですよね。
共有設定を開きコンピュータ名を決め [ファイル共有] を有効にする。

mac_setting

Fedora を立ち上げ Nautilus から [ネットワークを表示] をクリック。

nautilus_mba

あら、それしかやっていないのにアッサリ。
W クリックして Mac のユーザー名とパスワードを入力。

mba_connect

AFC だけでなく AFP プロトコルにも対応していたのか。
iPhone mount in GNOME | PaePoi

afp

Nautilus をもう一つ立ち上げ普通にドラッグアンドドロップ。
あたりまえのようにコピーできる、もちろん双方向で。
普通にファイル編集もできる、AFP はかなり柔軟なようで。
Mac からのアクセスは知らないけど別にイイよね、SELinux あるし。

Macintosh HD と表示されて驚いたけど /usr/bin とかは表示されない。
でも普通に Application ディレクトリにはアクセスできるという。

applications_directory

Mac のアプリ実体って実行パーミッションの付いたディレクトリなのね。
だからアプリを削除しただけでアンインストール終了なのか、ふむふむ。
同じ UNIX ベースとはいっても Linux とは随分違うんだな。

ということで、Linux は Mac にも普通にアクセスできる。

しかし、もっと早くコレを買えば良かった。
たまに Windows を使うみたいなイライラがまったく無い。

タッチパッドには驚愕した、マジでマウスはいらない。
二本指タップでコンテキストメニュー、三本指でウインドウの移動。
二本指スクロールは GNOME 同様にアクティブでなくとも使える、素晴らしい。

ウインドウは全部 command+Q で閉じる一貫性も GNOME 同様。
おかげで閉じるボタンが左にあっても困らない、まったく使わない。
Control を command に置き換えればほぼ GNOME アプリと同じに使える。
F11 がフルスクリーンならもっと良かったんだが。

ps, ls, grep 等 UNIX コマンドが一通り使えるのでありがたい。
bc も使える、計算もこれで困らないな。

Mac でさえ Linux 風に使おうとする筆者であった。

GtkBuilder

GtkBuilder を入れてみた。
見た目は凄い多機能に見える、どんな感じなんだろう。
ちなみに、コレも dnf コマンドからでないと入らない。

gnome_builder_install

あれ、clang 必須なのかな?
というかこの名前なのに Gtk+ ヘッダは依存関係にはないのかよ。
後で判るけど gcc でよかった、その他必要そうなものも導入しておこう。

早速新規プロジェクトを作ってみよう。
起動すると HDD 内の GPL プロジェクトを自動検索していた。
便利なんだか余計なお世話なのか、大半が参考用なのに。

あらかじめ作業用ディレクトリを作っておいく。
起動したら左上の [New] ボタン、フォルダアイコンのほうをクリック。
先程作ったディレクトリを指定し [Continue] する。

new_proj

configure.ac をプロジェクトファイルとして扱うようだ。
つまり autotools も必須ということみたい。
適当にコードを書いてプロジェクトを保存…

できなかった。

色々試したが autogen.sh 必須。
autotools にて自力で configure.ac を作った後に使うもののようだ。

というか、コイツのビルド機能は autogen.sh を実行するだけ。
そりゃコンパイラはどっちでもいいわ。

一応、autogen.sh は autotools のコマンドをまとめておくスクリプト。
最小限のサンプルを置いておくよ、README のとおりにやってね。
honda-0.0.1.tar.gz

そうそう、Build といっても configure スクリプトを作るまでです。
make 以降は自力。

小物を作って遊ぶには無駄すぎる。
デバッガもない、コレを IDE と言ってもいいのだろうか?
単なるテキストエディタだ。

コード補完や閉括弧自動挿入と初心者大喜びなエディタなのに。
私的に期待外れというかショボすぎて唖然とした。

うーん、今後に期待しとく。

Nautilus 3.16 scripts folder

Nautilus 3.16 には色々困った。

拡張スクリプトの順番が滅茶苦茶になってしまった。
最初は更新日時順だったがリネーム等をしているとワケワカに。
名前順に変更しようと手段を探しているができないみたい。

しかも更に何を今更ファイル名のアンダーバーをニーモニックにするとは。
いや、ニーモニックは便利だけど矢印キーで充分だったし。

nautilus_script_sort

しかたがないのでこうしてみた。
私的にファイル名にアンダーバーが使えないって凄く不便。
ファイル名はマイナス記号で代用できるけど順番は名前順にしてほしい。

更に詳細表示に変更したらナンジャコリャ!
月とかはしっかり日本語になっているけど昨日は Yesterday。
年月日は何故か US フォーマットで表示、勘弁してよ

listview

それと何故だかわからないけど。
設定ダイアログをマウスで移動すると本体がくっついてくる。
他のアプリではそうならない、詳細表示の表示確認ができなくて困る。
しかも設定ダイアログを出すと二回に一度は Nautilus が落ちる。

あと Nautilus を 2 つ立ち上げてファイルを DnD するときだけど。
ドラッグ時にサイドバーが一々反応するようになった、それも敏感に。
3.14 まではこんな動作しなかったはずなんだが。
これじゃ上下でしか DnD できない、おまえは Explorer か!
Windows の悪い所なんかマネしないでくれよ。

Gedit も少し変。
終了時に保存していないダイアログを [はい] にしても終了はしない。
保存したタブ分が残るのは仕様変更なのだろうか?

致命的なバグは無いけど正直使い辛くなった。
でもこういうのは多分次バージョンまでこのままだと思う。

次回からプログラミングネタに戻る予定。
GtkBuilder なんてのがあるらしいし。

Fedora 22 Workstation Install @ SSD part2

Fedora 21 からの環境再構築でまず困ったこと。
Nautilus から F2 を押して標準ディレクトリ名を変更すると以前は

~/.config/user-dirs.dirs

に繁栄されていたはずなんだけどガン無視された。
今回は自分で書き換え必須、一応書くと再ログインで繁栄される。

default_name

次はアプリの導入だ。
絶対に必要な Google Chrome をダウンロード。
狐はコレを落とすための道具になってしまっているのは筆者だけ?

なんか Chrome が SE Linux に引っ掛るんですけど。
使えなくはないので様子見、恒久にダメなままならコレを打てばいいはず。

sudo setsebool -P unconfined_chrome_sandbox_transition 0

相変わらず日本語プロポーショナルフォントがない。
gnome-softwere から VL Pゴシックを探すも何故か見当たらない。
しかたがないので dnf コマンドで導入。

sudo dnf install vlgothic-p-fonts

動画や音声の codecs が最初から gnome-softwere のアドオンにある。
でもインストールはできない、やはり RPM Fusion の登録は必須。
GNOME 公式のコーデックうんぬんはつまりこういうこと?

でも今回は libav もココから入れられるようになった。
コレもまさか筆者のブログの影響?

役立たずだった gnome-softwere の検索窓は少し改良されている。
[dco] のみ打ち込んだだけで dconf-editor が見つかった。

gnome_softwere1

でも sylpheed は全部打っても見つからない、検索の基準がワカラン。
UNIX 系の検索がコレでいいの?マジで???
インターネットカテゴリからすぐ見付かるからいいけど。

keepassx がどのカテゴリにもない。
keepass は mono+WindowsForm のゴミ糞なので間違えて導入しないように。

monoapp

keepassx はコマンドで、今回は Qt4 が最初から入っているみたい。

sudo dnf install keepassx

PHP 等は当然コマンド導入。

リポジトリにはあるけどコマンドでないと導入できないものばかり。
サルを振い落すならこれでいいけどさ。
現在本当に Linux を使っている人なら苦にならないどころが常識なので。

大衆をタッチ操作に誘導を狙ったなんとかエイトの結果がアレだし。
Fedora, GNOME のこの「サルは使うな、つか死ね」路線は貴重。
ネクラでキモチワルイ奴(つまりネラー)は絶対に絶対に使わないでね!

Fedora Linux Tips – L’Isola di Niente

httpd.conf から public_html 関連が無くなっているな。
調べなければいけないけど気が向いたら(ぉい!
http://localhost/ だけでアクセスは問題無し。

それ以外の自作まとめはほぼ書き換える必要無さそう。
デスクトップアイコンが少々カッチョよくなっている。

icon

続く、かも。