openFrameworks 0.9.8 と Qt Creator 4.3.1 を Linux で(2017)

グラフィックを勉強しようかと思います。

Processingがよさそうだったのですが、Linuxを使っているので、C++のほうが役に立つ機会があるだろうとopenFrameworksにしました。C++は入門書程度の知識くらいです。Quil(Clojure)にしようかとも思いました。Emacs を使っていて、しかも、初めて読んだプログラミングの本が「Emacs Lisp プログラミング入門」なのに、今だにLisp使いでないという、忸怩たる思いがあるからです。Lispは来年やります!

さて、ここで詳しく手順は紹介しません。英語ですが、公式サイトのLeaning を参考に、インストールやIDEのセットアップを行うのが良いと思います。

ただ、今回やってみてハマった点があったので紹介します。

“openFrameworks 0.9.8 と Qt Creator 4.3.1 を Linux で(2017)” の続きを読む

Symfony 3 学習メモ[02] ー Symfonyを選ぶ理由など

Symfony DocumentationのページのGetting Startedを読み終わったので、何か作っていこうと思います。

当初、Getting Startedの内容についてざっくり説明してみようかとも思っていましたが、私の適当な翻訳や解説より、英文ですが、頑張って直接読むほうが良いでしょう。先日も書きましたがここ一年の(過去1年に期間指定してGoogle検索)symfonyの日本語の記事が意外と少なかったりするので、観念して公式サイトから情報を得るようにしたほうがよいでしょう。

最近の人気はLaravelのようです。確かに過去1年の日本語の記事はSymfonyより多いです。実際に使われている実績としては、Symfonyのほうが多いような気がしますが、すでにSymfonyを使って居る人も含めて、新たにLaravelを学ぼうとする人の数が多いのでしょう。

さて、個人的にこのサイト内でちょっとしたものを作る以外に今のところSymfonyを使って一から何かを作る機会はまずない私が、結構覚えることの多そうなSymfonyを使ってみることにしたのは、有名どころのCMSでの採用実績が多いという理由によるものです。

Symfonyそのものの学習のコストは大きそうですが、Symfonyで作られたCMSが多いので、それらの利用や改修に際して学んだことが活かせるのではないかと思ったわけです。経済的です。EC-CUBEやDrupalあたりを扱う可能性は大きいような気がします。

方針ということでは、テンプレートエンジンTwigをやるかどうかという点についても考えてみました。テンプレートエンジンなんか使わず、ビューで使う便利なヘルパー関数を用意すれば十分だろうと思うわけですが、Getting Startedのサンプルを比べると相当タイプ量が違ってくるようでしたしCMSでもTwigが多く使われているでしょうから、、Twigやることにしました。

 

Symfony 3 学習メモ[01] ー さくらのレンタルサーバーにインストール

まずはリンクなど。

以下は旧バージョンの情報で、今回は特に不要でしたが今後追々必要になるかもしれないのでリンクを控えておきます。

このブログは「さくらインターネット」の共用レンタルサーバーを使っています。symfonyの学習用には余計なところで躓かないようにVPSのほうがよいと思いますが、お小遣いの節約のためこの共用レンタルサーバーでやります。

環境は、以下の通り。

  • Symfony 3.3
  • PHP 5.6.30
  • Apache 2.2.31
  • 独自ドメイン使用。無料でもらえる追加のサブドメインでも大丈夫かもしれません。

“Symfony 3 学習メモ[01] ー さくらのレンタルサーバーにインストール” の続きを読む

親指シフト残念配列

親指シフト入力をご存知でしょうか。まあほとんどの方は知らないと思いますが、説明は省かせてもらいます。今回は親指シフト入力を知っている方だけが分かる話です。

私は親指シフト入力をするときにEmacsのDDSKK-NICOLAモードを使っています。それ以外ではローマ字入力をしています。Emacs以外で長い文章を書くこともあまりありませんし、とにかくEmacsさえインストールすれば、OSが違っても同じ操作で入力出来るので気に入っています。

さて、私が使っている「親指シフト残念配列」とはどういうものかと言うと、濁音や半濁音を2打鍵で入力してしまうという非常に残念な配列です。それをやったらもはや親指シフト入力ではない、と言う人がほとんどかも知れません。

実は2打鍵で濁音、半濁音を入力する機能というのはこのDDSKK-NICOLAに初めから実装されているものです。(勘違いでした。半濁音の「 ゜」はomeletでは左親指キーとのクロス打鍵時。2018/4/12)

私はskk-omelet-jis.elをカスタマイズして使っていますが、はじめから「 ゜」や「 ゛」が単独で配置されていました。それに気付いたとき、「もう、いいやこれで。」と思ってしまいました。

ということで、普通は親指シフトとクロス打鍵で出力する濁音、半濁音を潰してしまい、クロスで打っても同じ側の親指で打った文字が出るように改変してしまいました。半濁音は全角のピリオド「.」(単独打鍵時のzの場所)にアサインしました。(「半濁音〜」は2018/4/12に追記)

残念なことです(笑)。しかし実際、親指シフトに適したキーボードってなかなか無いですよ。ノートパソコンやMacなどスペースキーがどーんと真ん中にありますよね。私は気にしませんが、やはりMacを使うのにPCキーボードって、という人も居るでしょう。マイキーボードを使うことにしてもOSごとに環境を整えないといけない。私は家ではLinux Mint、会社ではMacとWindowsを使っています。全部の環境で同じような操作性にするのは大変そうです。OSのアップデートで入力のカスタマイズアプリが未対応だったりすると親指シフトそのものがしばらく出来なくなったり。

「残念配列」にすることでキーボードやOSの違いによるストレスから開放されます。それと本来同じ側の親指シフトで入力すべき文字がクロス打鍵で入力出来て、これが意外と楽です。

「○○、親指シフト止めるってよ」という人がいたら最後の手段として教えてあげてもらえると嬉しいです。しかし、残念配列より先に「親指シフトorzレイアウト」のほうが適当かもしれません。公式サイトは、orzレイアウト | JIS日本語キーボードでも親指シフトを楽チンにorz )です。

以上、世界で私唯一人しか使っているものの居ない「親指シフト残念配列」の話でした。

 

 

ORG-MODEでカードのようにテキストを並べて編集する

目標

(2019/7/15追記:ファイルを分割するより、インダイレクトバッファーを使った方が便利ですね)

以下のようにカードを並べるようにして編集する方法を紹介します。

やり方 – ファイルを分割してINCLUDEする

カードとして扱うセクションをそれぞれ別ファイルにしてメインのテキストに以下のように書いていきます。

#+TITLE: メモ
#+INCLUDE: “./001.org” :minlevel 1
#+INCLUDE: “./002.org” :minlevel 1
#+INCLUDE: “./003.org” :minlevel 1

TEXやマイクロソフトワードでも同じような機能はあったと思います。

以下では周辺のこまごました説明を行います。

“ORG-MODEでカードのようにテキストを並べて編集する” の続きを読む

USBのgrubブート+LVMでハードディスクを楽々換装

概要

USBにインストールしたgrub2からLVMのLinuxを起動しLVMのハードディスクを換装したときの記録。ほとんど遭遇しないHDDの換装だが学習かねて頑張ってみた。役に立つ機会が来ればよいが、ブート周りはUEFI?というようなものに変わるようだし、今回限りになりそうな気もする。

LVMではファイルシステムを異なる物理ドライブ間で動かすことができる。ddもdump/restoreも使わず。またレスキューモード等ではなく、対象となるPCでネットしながらでも作業を行える点はお家PCでも重宝するはず。

ゴール

以下のようなパーティション構成の128GBHDDを1TBのHDDに換装した。OSはLinux Mint 18.1。

/boot /dev/sda1 (ext2)

/   /dev/mapper/mint–vg-root

作業の流れ

作業の流れ、といってもLVMの操作は詳しい他のサイトがある。私は「LVMのトラブルShooting☆Star(チガウ その2 [Linux(LVM/RAID/Storage)]」を参考にした。丁寧に書かれているので、ほとんどの作業はそちらを参考にした方が良い。(10年近くも前の記事だ。その間私もLVMを使っていたはずだが、換装や追加するような状況はほとんどなかったように思う。)

ただし、上記参考サイトではMBR、/boot があるドライブは、換装しようとするHDDとは別である点が、私の状況と異なっていた。私の場合はHDDはひとつしか接続しない。貧乏性なので、取り除いたHDDは別のマシンで使うという状況。

なので今回特別に行わなければならなかったのはUSBメモリインストールしたgrub2(以下ではレスキューgrub USBと言う)でLVMのシステムを起動させることだけだった。

全体の作業は以下のような感じ。

  1. 新HDDを接続
  2. レスキューgrub USBで起動(確認のため)
  3. 新HDDのパーティション設定
  4. オンラインでLVM操作(換装中のマシンで調べながら、新HDDにデータ移行)
  5. 不要になったHDDの取り外し
  6. レスキューgrub USBで起動。
  7. /boot/* を新HDDの/boot 以下にコピー。/etc/fstab 編集
  8. レスキューgrub USBで起動。新/bootがマウントされているはず。
  9. grubを新HDDのMBRに書き込む
  10. 再起動後、パーティションを伸長

“USBのgrubブート+LVMでハードディスクを楽々換装” の続きを読む

メモリ64MBのHDD無しノートPCをTiny Core Linuxでなんとか使ってみる2(シンクライアント化)

完全に故障するまでは通電され続けるPresario 1906。可哀想にも思うが、最近CDの読み込みなんかも調子が良かったりするのでむしろ喜んでいるにちがいない。

さて、前回、Tiny Core Linuxにより、mp3ファイルの再生も可能なフォトビューア-として十分な働きが出来ることが確認されたが、他にも何か出来るのではないかと考えてみたところ、12インチのモニターという大きさがシンクライアントとして使うには持ってこいではなかろうかと、シンクライアント化にトライしてみることにした。リモートのPCの操作ができれば、PC自体のメモリは問題にならないはず。

ということで、やってみるとあっさり成功した。メモリ以外に問題になるようなことはないだろうとは思っていたが、メモリも十分に足りた。また、これまで有線でのネットワーク接続だったけれど、さすがにあちらこちらから使うのには無線の方がよいだろうと、Coregaの無線LAN用PCMCIAカード差して見るとこれもあっさり認識。

アプリは以下のものをインストールした。

  • wifi.tcz
  • tigervnc-viwer

接続先は Linux Mint 18.1。注意点はUbuntu 系のデスクトップに接続する場合は、Ubuntuに最初から入っているvinoというVNCサーバー(昔は接続する側がサーバーと言っていたような気がするが)の暗号化の設定を解除する必要がある。よくあるケースらしく「Ubuntu vino encrypt」などで検索すればすぐに解決策は見つかった。

デスクトップを使う一般ユーザーで以下を実行する。下のコマンドは確認。

$ gsettings set org.gnome.Vino require-encryption false

$ gsettings list-recursively org.gnome.Vino

すぐに接続は出来たのだが、デスクトップの解像度がそのままでPresario 1906の800×600ではデスクトップの一部しか表示されない。vinoの起動画面でも解像度らしきものを設定するところがない。tigervnc側にもそれっぽいオプションはないようだったので、Linux Mint 側で x11vncというのをインストール。しかし、スタートメニューから起動しようとしたが、起動しなかったので、コマンドラインから実行すると無事望み通りのサイズで接続できた。

x11vnc -geometry 800×600 -gui tray -passwd (パスワード)

-tray はタスクトレイにアイコンを表示させるオプションだ。

Tiny Core Linuxに関してはそのくらい。他にOpencoconというディストリビューションも試してみた。瀕死のPCをシンクライアントとして復活させるという、今回の目的ズバリのシンクライアント化専門のディストリビューションだ。何の設定もせず、VNCによるリモート接続はできた。だがしかし、CDからの実行は時間がかかりすぎたため利用はあきらめた。USBブート可能であるか、ハードディスクがあるPCがあれば使ってみようと思う。VNC以外の多くのプロトコルに対応している。日本人が開発している点も良いと思う。

メモリ64MBのHDD無しノートPCをTiny Core Linuxでなんとか使ってみる

スペック

HDDが壊れて20年近く放置していたWindows 98時代のノートパソコンPresario 1906をTiny Core Linux 7.2で復活させてみた。スペックは以下のような感じ。

  • メモリ: 64MB
  • CPU: Mobile Celeron 266MHz
  • HDD: 無し!
  • USBブートは出来ない!
  • 付属のWindows 98のリカバリCDは何故か捨ててしまっていた。

20年前はこのスペックでも表計算もメールもインターネットも出来ていたのだから不思議だ。

“メモリ64MBのHDD無しノートPCをTiny Core Linuxでなんとか使ってみる” の続きを読む

OSインストール後の設定あれこれ

自宅のPCが壊れてしまい、新しいPCを調達した。急いで環境を整える必要はないので、まったりと初めての自作PCにチャレンジしてみたりした。

PC1台使えなくても家族用にもう一台あるし、スマートフォンもあるしメールもオンラインで送受信しているので問題にならない。スマートフォンが使えなくなるほうが影響が大きいだろう。

それでもPCも必要ではあるので設定を行おうと思うが、もう何度かやっている同じことの繰り返しで退屈だし、手順のメモやバックアップはあるものの多少は集中しないといけないのでなかなか気が進まない。実際の作業にとりかかる前にリストアップなどしてみてなんとか前進してみようと思う。

OSはLinux Mint 18 をインストールした。

  1. トラックボール
  2. バックアップ
  3. ファイル共有(NAS買えばよいのだが)
  4. SSHサーバー、リモートデスクトップ(居間からアクセス用)
  5. ファイアーウォール
  6. プリンター(EPSONのLinux用ドライバ)
  7. Emacs

意外と少ないか。

バックアップについてはファイル単位のバックアップはやるが、ディスクイメージのほうはどうしようか?

dump/restoreなどを利用するのが普通だろうがいっそ別マシーンでも復元できるようにLinuxのディストリビューションのパッケージリポジトリをまるっと保存してfabricなどの自動化ツールを使って復元しようか。

あるいは仮想化してしまうか。

 

MacではEmacsのキーバインドが使えて良い

Macはテキストの編集があるところではEmacsの基本的なキーバインドがつかえる。結構便利だ。Emacsユーザーが多いと思われるLinuxだが、各アプリで設定する必要があるのだろうか。文章はEmacsで書けばよいし、シェルはEmacsキーバインドなので、そんなに困ることはないのではあるがウィンドウマネージャーの設定を確認してみよう。