12月 012018
 

一個前のエントリで Mac mini を購入した件を書きましたが、今まで利用していた MacBook 2009 も一応健在です。OS は Sierra でしたが、インストールできる最新の Hight Sierra にしたいモノですが、中々バージョンアップが行えない。

あ。 MacBook 2009 は Mojave は非対応な機種となりました。しかし、 Aplle は Sirra も Hight Sierra もまだサポート対象 OS としているので一応、安心して利用可能です。

 
今まで利用していた環境は MacBook 2009 に Sierra をインストールしていましたが、自分で交換した 128GByte の内蔵 SSD は容量不足になりつつあったので、これを機会に 256GByte に容量を増やし、そのタイミングでなんとか Sierra -> Hight Sierra にバージョンアップしようとの目論見です。

既に多くのウェブサイトに記載されていますが Sierra -> Hight Sierra へのバージョンアップは非常に厄介です。ファイルシステムが HFS+ から APFS に変更になったため容易にはインストールできません。

そして、自分で個別に、僕のように初期の HDD から SSD に変更した人は更に高い壁が立ちはだかりインストールができません。
MacBook系 の HDD を SSD に変更した人がはまる道。


https://applech2.com/archives/20171002-high-sierra-upgrade-issue-due-to-third-party-ssd.html

純正の HDD もしくは SSD を自分で、別の SSD に換装した場合にファームウェアの更新ができなくて Hight Sierra にアップデートできない。と、言うんですね。

僕もこの壁にぶち当たりましたが、なんとか回避しました。その手順を書いておきます。

1. 今の状態
MacBook 2009 は HDD であったが、遅いで 128GB の SSD に換装したのは今から 2,3 年前。
macOS Sierra までは順当にアップデートができたが Hight Sierra にアップデートしようとしたらちっともアップデートできないのでそのままにしていた。
ちっともアップデートできないとき、以下のメッセージが表示されていた。

「macOSをこのコンピュータにはインストールできません。ファームウェアの検証でエラーが発生しました」

Hight Sierra を USB メモリでインストールできるようにインストールイメージを USB メモリ上に作成。
作成についてはあちこちのサイトに記載されているのでそちらを参考にしてください;-)。

USB メモリでのインストールも何回か試みるも上記メッセージが表示されちっともアップデートできない。

 
2. 128GB の SSD を 256GB の SSD に換装
ちょうど良いタイミングで 128GB の SSD の容量が足りなくなってきたので 256GB の SSD に換装し、 Hight Sierra をクリーンインストールすることにする。
タイムマシンでバックアップし、 128GB の HDD はもしものためにきっちりとキープしておく。

Hight Sierra のインストールイメージが入っている USB メモリからブートし、クリーンインストールを試みるも上記メッセージが出てやはりインストールできず。

おやおや・・。orz

このときに NVRAM のリセットを試みる。option+command+P+R の同時押しの電源投入で、二回『ちゃらーん』(音が違うか。これは笑点だ;-)と聞こえたら NVRAM の初期化完了。

その後、再度 USB メモリからクリーンインストールに挑戦するもやはりダメ。

 
3. 256GB の SSD に Sierra をインストール
USB メモリから Hight Sierra をインストールするのを断念し、以前利用していた 128GB の SSD を USB 接続してから MacBook を起動し、復旧バーティションから Sierra をインストールします。これは無事にインストール完了。
新しい 256GB の SSD には今まで利用していた OS と同じ macOS Sierra がインストールされました。

この状態で、 macOS Sierra のアップデートをドドドと適用します。クリーンインストールなのでマッサラな状態です。

で、何個かのアップデートを適用していくのですが、2018-005 だけが適用できないのであります。
で、 2018-005 は何をしているのか? と、いうと、上記のようにエラーとなるファームウェアのアップデートなんですね。 2018-005 が適用できないと、いつまで経っても Hight Sierra がインストールできません。
裏を返すと 2018-005 が適用できると Hight Sierra のインストールが可能になるわけです。

僕は、 2018-005 未適用な状態、 2018-004 まで適用した状態で再度 NVRAM のリセットを試みました。そして再起動後にアップデートを実行すると、あぁら不思議。 2018-005 が適用できて最新 Sierra は最新の状態になりました。

そして、半分嬉しさを噛み締めつつ『この状態だと Hight Sierra にバージョンアップできんじゃね?!』などと思い、 App Store から Hight Sierra をダウンロードしアップデートインストールを試みたのであります。

 
4. 来たゼッ!! Hight Sierra
新しい 256GB の SSD に macOS Sierra をインストールし、サラの状態で Hight Sierra にアップデートするので特にゴミなど無いであろう。と、思われるのであります。

アップデートの途中で失敗することもなくインストーラは最後まで完走し、無事に Hight Sierra にアップデート完了ですっ!!

いやぁ。長かった。無事にアップデートできて良かった。

 
以上が macOS Sierra から Hight Sierra へのアップデートの道のりです。アップデートに失敗した人は僕も含めて色々な探しモノをするのですが、『ファームウェア初期化でインストールできた。』と、いう人がいるのですが、 NVRAM のリセットをいつ行ったら良いか?と、いうのが中々つかめない。

僕の場合都合二回ほど NVRAM のリセットを行うタイミングがあり、そのうちのどちらかがバシっと効果的に効いて、 2018-005 が適用できたのでしょうなぁ。

Mac の SSD 換装による Hight Sierra へのアップデートができない人は多分 2018-005 も適用できていないと思います。 まずは Sierra の 2018-005 のアップデートを適用するために NVRAM のリセットを行う。と、いう手もあるのではないかと思われます。

 
まぁ、ここに書いたのは『僕の MacBook 2009 の場合。』のお話かもしれませんが、同一機種で問題が発生している人の参考になれば嬉しく思います。

11月 222018
 

久しぶりに Apple の PC を購入しました。今まで使っていたのが MacBook 2009 なので約 8,9 年ぶりくらいですかね。

MacBook 2009 は macOS Sierra で、 Hight Sierra にバージョンアップできなくて困っていたのですが、それについては別途エントリを書く予定なので置いといて、 macOS mojave には対応しなくなるので、いよいよ新製品を購入。と、なったのであります。

それにしても MacBook は遅かった。 Core2Duo 2Core で mdworker が動き出すと CPU 食われまくり。新しい、絶大なパワーを持った Mac mini を買おうとしていたら Apple から 4 年ぶりに発売されたそれのパワーは絶大ですかさず飛び付いた。と、言う感じですね。

 
今回購入したのは intel i7 とメモリ 16GB で SSD は 256GB にしました。これで、消費税込み 19 万 yen コースです。高いなぁ。とは思うのですが、有り余るパワーの Mac が持てて非常に満足です;-)。

 
Mac mini に直接的に購入したのは USB-C の USB HUB 二個ですね。 USB ポートが少ないので USB-C の口にゾロゾロと色々接続するために購入しました。

その他、 Mac mini を利用するときに気付いた点を少々。

 
o. T2 チップ内蔵でスリープ状態が解らない
これはあちこちで書かれていますね。本体がスリープしてもフロントの LED が点灯しっぱなしでスリープしているのか解らない。
ディスプレーが省電力モードに移行していると『あ。寝ているね。』と、判断するしかないですかね。

 
o. Siri 起動
『へい。しり。』って言っても macOS は Siri が起動してくれない。コマンドキー+スペースキー長押しで起動しますが、そもそも Mac mini にはマイクが付いてないので意味ないじゃーん。と、いうことになるのですが、僕の場合、以前 PC 用に購入した USB サウンドカードがあったのでそれを接続し、その昔 Pod Cast やろうとして購入した SONY のステレオマイクがあったのでそれを接続しました。
これで Siri に対して色々聞くことができるようになりました。

しかし、上の項目にもマッチするのですが、 USB サウンドカードは電源が供給されていると LED が点灯するんですね。なので、 Mac mini がスリープしたか起きているかは USB サウンドカードを見るとこで確認できるようになり、一石二鳥なのであります。

こんなのを利用しています。

 
o. CPU パワーすげー。
僕は Mac のリソース確認のために MenuMeters と、いうのを利用しているのですが、 CPU コアが 6 個、 HTT 対応で計 12 Core に見えるのは圧巻です。今までに利用した PC は AMD の FX-6100 が 6 Core で最高だったのですが、Mac mini が一番コア数の多い PC になりました。

おかげでサクサク、コンパイルもサクサク、上にも書いた通り mdworker どんと来やがれ状態です;-)。

 
o. epkg も動いているよ
以前、このブログにも書いていますが、epkg を /usr/local/ 配下にインストールして動作できる環境を整えています。

なので、FreeBSD の ports 的に、自分で必要なものは自分で make && make install して利用しています。もし良ければ使ってみてください。

https://icmpv6.org/EPKG/

epkg を作成する上で、今回一番困ったのが、最近の macOS から ftp コマンドが消えている。と、いう点です。しかも wget がないのでどうやってファイルを取ってくるのだ?と、なるのであります。

epkg-mojave-20181203.tgz には epkg で作成した wget のバイナリも入れておいたので epkg install すれば良いと思います。
自分で Makefile を書いてコンパイルしてバイナリを作成したのですが、一応 OpenSSL も enable しています。 なので上記 URL からも色々取って来られると思います。

自分でソースからコンパイルすると、やっぱり楽しいですねぇ。 epkg の Makefile には make -j 12 と書かれたモノが何個かあるかもしれないです;-)。
cmake とか emacs などは make していて気持ちが良い;-)。

 
新しい Mac mini はこんな感じてでしょうか。コンパイルメインに利用しているなんて、いかにも間違った使い方かもしれませんが、他の人とは違う使い方を書いているのでまぁ、ヨシとしておきましょう;-)。

 
さてと。今回は Mac mini の他にディスプレーも買い替えてしまいました。今まではフルハイビジョンの 21.5 インチのディスプレーを約 10 年くらい利用していたのですが、そろそろ買い替えどきかと思い 4K にするか、悩んだのですが、2K で表示する 23.8 インチのものにました。

Mac mini から 2k (2560×1440) サイズは利用可能でず。ただ、MacBook 系とは違い文字サイズの変更ができません。

「システム環境設定」から「ディスプレイ」を選択し、[解像度]を[変更]しても文字サイズを変更するメニューが出ないのであります。なので、 2k サイズで利用する場合にはちっこい文字での表示となります。

あ。今回購入したディスプレーは IO-DATA の EX-LDQ241DB です。 NTT-X で購入したのですが、僕の場合はタイミングが良くクーポン券が付いていて 19,980yen で購入できました。ずいぶんお得で助かりました。

 
とまぁ、こんな感じで macOS を利用する環境が新たに整ったので、今後はガシガシ使い込んで行きたいと思います。

何か気付いた点が、今後出てきたらまた何か書きたいと思います;-)。

9月 232018
 

KDE5 をインストールして、最近色々遊んでいるところです。デスクトップにも NotePC にもインストールしたので利用頻度はグググと上がりました。

そんなこんなで色々遊びつつ・調べつつしていたら latte-dock というのを発見しました。 KDE5 のパネルの代わりになるシロモノです。 FreeBSD の ports 的には deskutils/latte-dock になります。

まずはキャプチャを;-)。

レイアウトは My Layout・Plasma・Unity の、全部で三種類から選べます。 My LayOut は macOS 風、 Plasma は KDE5 の default のパネル風、 Unity というのは NextStep のランチャー風で、macOS の上にあるステータスバーみたいなのも表示されます。上記キャプチャはMン Layout でドックの設定で配置してみました。

KDE5 のウィジェットはガシガシ登録できるし、プログラムのショートカットも登録可能です。 KDE5 の標準のパネルが macOS 風になった。と、いういう認識で問題ないかと思われます。と、いうのも macOS と一緒でマウスオーバーするとアイコンがズズズと大きくなります。おぉっ!!

そして、ドックの上で右クリックすると設定画面が現れてことこまかに色々と設定することができます。設定画面ではドックとして利用したときのアイコンサイズのだとか、ウィンドの下に隠れるとか、 3D や影を付けたり、現在利用中のアプリのアイコンを光らせたりとか。

フツーの KDE5 のパネルではつまらないと思う人は是非とも体験してみてください;-)。

ただ、一部動作が多少怪しいと思う点が、使い込むほど出てきているので、今使っているパネルは小さいままデスクトップ上に置いといたほうが良いかもです。バージョン 1 が出たときには安定してくれていると嬉しい;-)。

 
それにしても KDE3 の頃だったか? パネルのアイコンが OS X (当時) 風に、普段は小さいのにマウスオーバーで大きくなったりする機能を持っていたんだけど Apple からクレームが入りその機能がなくなって、マウスオーバーしてもアイコンサイズが変わらなくなってしまった。と、記憶しています。 KDE 本体から分離したプロジェクトとして用意された latte-dock ではその機能が復活している。と、いうのはなんだか感慨深い;-P。

 
さてと。話が横道にそれましたが、設定画面のキャプチャを掲載しましょうかね。

僕の設定は日本語表示されています;-)。 この latte-dock というのは gettext で po ファイル化されているので独自に翻訳してみました。もうちょっと精査したあと kde-jp@kde.org に送る予定なので、次のバージョン辺りから最初から日本語化対応になっているのではないかと思われます。

あ。このブログでは何回か書いていますが僕は JKUG のメンバでもあるので、 KDE 自体の翻訳は特に気にはならずに Opendesktop.org に協力している次第です。

それにしても先行して日本語 po/mo フアイルが欲しい方は以下の URL に置きましたので持って行ってください。

https://icmpv6.org/Prog/ja.po/latte-dock-0.8.1-po-ja.tgz

deskutils/latte-dock を ports からインストールしたあと、ダウンロードした tgz を展開して、その中にある mo ファイルを /usr/local/share/locale/ja/LC_MESSAGES/ にほーりこんで latte-dock を再起動すると設定画面が日本語化されます。

日本語化されていたほうが設定しやすいとは思うのですが、一部へんちくりんな日本語や機能的に間違っている部分があるかと思われますが、随時更新して行きたいと思います。

9月 172018
 

KDE の 4 や 5 を使っていると ps -ax とか打つと気が滅入るときがあります。『どうしてこんなにakonadi が起動しているのだっ!?』と。まぁ、 akonadi は kdepim 系のユーザ情報管理や各種サービスへのアクセスを一手に引き受けているのでさまざまなプロセスが動くのはしょーがいなのではありますが・・。

akonadi はバックエンドにデータベースを利用していて、必要な情報はそこに格納します。選べるのは全部で三つ。 MySQL・PostgreSQL・SQLite3 ですね。 KDE4 の頃は複数のプロセスからアクセスするとデータベースがぶっ壊れるから MySQL を使え。と、いうお達しが出ていて、『まじかよー。デスクトップのバックエンドに mysqld 動かすんかよぉ・・。orz』などと思っていたのですが、 KDE5 からはいよいよ純粋に上記三つのデータベースが選択可能になったようです。

と、いうことで ports の databases/akonadi をインストールする場合は以下のようにオプションを選択すると良いでしょう。

今回は非常に負荷の軽い SQLite3 をチョイスしました。この状態で akonadi をコンパイルすると関連性により databases/qt5-sqldrivers-sqlite3 がインストールされます。 akonadi が利用するデータベースドライバですね。
ちなみに MySQL を選択すると databases/qt5-sqldrivers-mysql がインストールされます。

これで今日は akonadi は SQLite3 を利用するようになる。わーいっ!! などと喜んではいけません。 akonadi は今でも default で MySQL を利用するようになっているので、設定を変更して上げる必要があります。

設定変更するファイルは ${HOME}/.config/akonadi/akonadiserverrc になります。 akonadi を一回起動(しようと)すると生成されます。

[Debug]
Tracer=null

[%General]
Driver=QSQLITE3

[QSQLITE3]
Name=/home/USERNAME/.local/share/akonadi/akonadi.db

 
起動直後は [%General] では Driver=QMYSQL と書かれていると思いまずが、これを上記のように変更し、更に [QSQLITE3] を書いてデータベースを指定してあげます。

設定ファイルが完成したら akonadictl restart するか、一回ログアウトしてから再度ログインし直すと良いでしょうか。再度ログインすると mysqld が起動していないのに akonadi が動作しているのが嬉しいですね;-)。

これで mysqld が起動しない分 PC の負荷が多少は軽くったでしょうか? もしかしたら気分的な問題かぁ?

 
では、そもそも akonadi 自体を起動したくない場合はどうするか?

一番簡単なのはコンパイルのオプションで SQLite3 を指定して、設定フアイルである akonadiserverrc には MySQL を利用する設定を記載することです。

databases/qt5-sqldrivers-sqlite3 や databases/qt5-sqldrivers-mysql などがデータベースドライバになるのですが、設定ファイルで選択したデータベースのドライバが無い場合には akonadi が起動しません。

それとは別に [QSQLITE3] や [QMYSQL] の中に StartServer=false と掛けば akonadi が起動しない。と、いう話のようですが、実際に記載した設定ファイルを用意しても akonadi は起動してしまいました。残念。

[Debug]
Tracer=null

[%General]
#Driver=QSQLITE3
Driver=QMYSQL

[QSQLITE3]
Name=/home/USERNAME/.local/share/akonadi/akonadi.db
StartServer=false

[QMYSQL]
Host=
Name=akonadi
Options="UNIX_SOCKET=/tmp/akonadi-USERNAME.73cx0k/mysql.socket"
ServerPath=/usr/local/libexec/mysqld
StartServer=false

 
と、いうことで akonadi のコンパイル時に SQLite3 を指定して、上記のように設定ファイルを記載すると、起動しなくなります。

起動したい場合には [[%General] で Driver=QSQLITE3 を有効にして Driver=QMYSQL をコメントアウトすれば OK です。

これで akonadi がずいぶんと楽しいものになったかな? ;-)。

9月 092018
 

僕が利用している ThinkPad E145 はカーネルがずっと 10.1-RELEASE のままで、ユーザランドが 10.4-RELEASE だったりしていました。これは以前にも書いていますが suspend/resume が動作しなくなる。resume 後にバックライトの調整ができなくなるため、しかた無く。の対応だったんですね。

あと、ThinkPad E145 はグラフィックスカードに Radeon HD 8330 を利用していて、このチップは radeonkms.ko では未対応で Xorg のドライバでは VESA を利用していたんですね。

そして、 KDE5 は 10.4-RELEASE でコンパイルしたものは、コンパイルしたバージョンとは違う 10.1-RELEASE 上では動作しない。と、いうことになり、そろそろ新しい NotePC を買うことを考えていたところに drm-next-kmod がバリバリと動作する。 Radeon HD 8330 も radeonkms.ko で動作するようだ。と、いうので 10.1-RELEASE から 11.2-RELEASE にいっきに上げてみることにしました。

と、ここまでが前振りです(^^;;。
freebsd-update でいっきに 11.2-RELEASE にして pkg delete -a で古い packages を削除したあとに 11.2-RELEASE でコンパイルした KDE5 一式をドドドとインストール。その他 NotePC に必要なモノをインストールします。

そして、今回はそこに graphics/drm-next-kmod をインストールします。 /usr/ports/graphics/ の下を見ると、全部で以下があるようです。

・drm-devel-kmod/
・drm-legacy-kmod/
・drm-next-kmod/
・drm-stable-kmod/

まぁ、見て、雰囲気が大体解ると思われますが;-)。

graphics/drm-next-kmod をインストールすると /boot/modules/ の中がずいぶんとにぎやかになります。

この中から radeonkms.ko を見つけ出してブート時に kldload するように、/etc/rc.conf に設定します。

# --- kernel module load --- #
kld_list="/boot/modules/radeonkms.ko"

 
radeonkms.ko は今回 graphics/drm-next-kmod でインストールしたモノと別にシステム標準の /boot/kernel/radeonkms.ko があります。 /boot/loader.conf に radeonkms_load=”YES” と書くとシステム標準のカーネルモジュールがロードされてしまうため、上記のように記載します。

インストールが完了したあとは /etc/X11/Xorg.conf を編集してあげます。最近は /usr/local/etc/X11/xorg.conf.d/ 内にドライバ・キーボード・マウスなど、個別のファイルを用意して /etc/X11/Xorg.conf は書かない。ってのが流行みたいですねぇ。まぁ、どっちにしろ Section “Device” の項を書き換えます。

Section "Device"
        Option      "TwinView" "true"
        Option      "TwinViewOrientation" "LeftOf"
#       Option      "RegistryDwords" "EnableBrightnessControl=1"
        Identifier  "Card0"
#       Driver      "radeon"
#       Driver      "vesa"
        Driver      "modesetting"
        BusID       "PCI:0:1:0"
EndSection

 
Driver radeon は動作しないので、しょーがない。今までは Driver vesa で使っていたのですが、今回 graphics/drm-next-kmod にしたので Driver modesetting にしました。最近の Xorg は賢くなって色々なモノを自動認識するようになり、デバイスにあったカーネルモジュールをロードしてくれるようです。

と、いうことで上記の設定ができたらリブートしましょう。
リブート後、僕の ThinkPad E145 では以下のカーネルモジュールがロードされるようになりました。 linuxkpi.ko が今回のカナメでしょうかねぇ。

--- <上略> ---
23    1 0xffffffff82421000 15d6d9   radeonkms.ko
24    1 0xffffffff8257f000 74b70    drm.ko
25    4 0xffffffff825f4000 edc8     linuxkpi.ko
26    3 0xffffffff82603000 114b8    linuxkpi_gplv2.ko
27    2 0xffffffff82615000 6b8      debugfs.ko
28    1 0xffffffff82616000 23f8     radeon_kabini_pfp_bin.ko
29    1 0xffffffff82619000 23f8     radeon_kabini_me_bin.ko
30    1 0xffffffff8261c000 23f8     radeon_kabini_ce_bin.ko
31    1 0xffffffff8261f000 43f8     radeon_kabini_mec_bin.ko
32    1 0xffffffff82624000 2a78     radeon_kabini_rlc_bin.ko
33    1 0xffffffff82627000 12e8     radeon_kabini_sdma_bin.ko
34    1 0xffffffff82629000 38eb0    radeon_bonaire_uvd_bin.ko
35    1 0xffffffff82662000 13328    radeon_BONAIRE_vce_bin.ko
36    1 0xffffffff82676000 37528    linux.ko
37    2 0xffffffff826ae000 2d28     linux_common.ko
38    1 0xffffffff826b1000 31e50    linux64.ko
--- <以下略> ---

 
Xorg を起動し、ログインマネージャの x11/sddm を起動し KDE5 にログインします。そして、 「KDE システム設定」から[ディスプレイとモニタ]->[Compositor]ときて、[レンダリングバックエンド]を確認します。VESA ドライバを利用していたときは選択できるのは xdandr のみだったのですが、今は OpenGL2.0 や 3.1 が指定できます。おぉっ!! これで 「ゆれるウインド」とか「魔法のランプ」などが利用できるようになるっ!!

ってんで、 graphics/drm-next-kmod の恩恵が受けられるのでありました。

 
で、次のステップですが、 まだ、以下の二点が残っております。

・suspend/resume はちゃんと動くの?
・バックライトの明るさ調整はできるの?

まず、suspend/resume についてですが、最初の 1,2 回はフタを閉じた段階でシステムごとフリーズしていたので『むむむ。 graphics/drm-next-kmod は suspend/resume に対応してないのか?』などと思ったのですが、ロードするカーネルモジュールとかその他設定を見直すことで無事に suspend/redume が動作するようになりました。

ThinkPad E145 では acpi_video.ko はまともに動作してないので利用していません。 acpi_ibm.ko はバックライト調整はできないけどボリューム調整はできるのでロードしています。

 
次にバックライト問題ですが、これは、本家でも wiki の掲載があるほどなので、ことは一大事なのでしょうなぁ。

https://wiki.freebsd.org/Graphics/Brightness

ここに書いているのは一通り試しました。上にも書いた通り ThinkPad E145 は Radeon HD 8330 なので intel_backlight (ports 的には graphics/intel-backlight) を使うと Device not found. です。あら。つべたい。

accessibility/sct はオプションの数値を変えると色が変わるので、 LCD brightness とはちょっと違う。

で、結局、僕は xrandr を使うことにしました。xrandr は VESA ドライバを利用している頃はまともに動作しなかった (Can’t open display と表示される) のですが、 graphics/drm-next-kmod を使うと無事に動作するようになりました。

まず、以下のコマンドを打ってディスプレー名を取得します。

$ xrandr --listmonitors
Monitors: 1
 0: +*LVDS-1 1366/256x768/144+0+0  LVDS-1

 
最後の LVDS-1 が重要で VESA ドライバを利用していた頃はこの値が表示されず xrandr で明るさの調整ができなかったんですね。今回 graphics/drm-next-kmod を利用することによりちゃんと動作するようになりました。ここまで来ればラクショーです。あとは以下のようにコマンドを打って画面の明るさ調整をすれば良いだけ。

$ xrandr --output LVDS-1 --brightness 0.8

 
今動作している明るさが 1 で、それよりも暗くしたい場合は 1 以下の数値を小数点で指定し、更に明るくしたい場合は 1.2 とか指定すれば良いです。

雰囲気的には機械的にバックライトを調整するのではなく、画面の色をグレーにすることで暗くなったように見える。と、いう機能ですね。ハードウェア的にバックライトを暗くしてないのでバッテリー運用のときは要注意って感じでしょうか。

 
と、いうことで CPU/GPU 共に AMD な NotePC である ThinkPad E145 ですが、

・11.2-RELEASE にした
・graphics/drm-next-kmod で Radeon HD 8330 を認識してくれる
・KDE5 が使えるぞぉ (これは当たり前;-)
・suspend/resume ができる
・バックライト調整も一応できる

と、いう状態になり、ほぼほぼ満足な結果です。細かく言うと

・キーボードが 101 のままだぁ
・マウスの動作があやすぃー
・音の出るところ調整(スピーカーかイヤホンか)

など、ありますが、それらは Xorg の設定で調整するもヨシ。KDE5 側で設定するもヨシ。と、いう状態なので、道は色々あります。それらを一応全て解決できたので、僕の ThinkPad E145 は壊れなければあと 4,5 年は持つような気がしてきました;-)。

5月 202018
 

最近の ports-current を追いかけていると、統合デスクトップ環境 (懐かしい響きだ;-) に KDE4 を利用している人にとっては、関連性からインストールする packages が xxx-kde4 へと、名前が順次変わっていたので『むむむ。そろそろ KDE5 が降ってくるのか?』などと思っていたら、果たしてその通りで x11/kde5 と、いうのができました。

デスクトップが更新されたのはずいぶんと久しぶりだなぁ。以前のこのブログのエントリに「FreeBSD に KDE4.1 がやってきた。」と、いうのを書いているのですが、それが 2008 年 08 月ですね。約 10 年ほど KDE4 を使い続けた。と、いうことですが、このたび KDE5 に移行しました。今回のネタは FreeBSD で利用する KDE5 について、少々書いてみたいと思います。

 
それにしても 10 年も経つと色々なことが変わりつつあります。そもそも、今でもデスクトップ環境として FreeBSD+xorg を利用している人は何人くらいいるのでしょうか? このエントリを書いて、ちゃんと読んでくれて、設定を方法を見てくれる人がどれくらいいるのでしょうか? 不安です・・f(^^;;。

が、まぁ、しかし、初めてみましょう。

 
1). インストール
まぁ、簡単で ports の x11/kde5 を make install すれば良いだけです。make config で好きなモノを設定していけば良いでしょう。
ただし、KDE4 からのアップグレードの場合、KDE4 に関連する packages は全て削除しましょう。 KDE4 と KDE5 の ports/packages では confrict が発生し、 make install が途中で止まったりします。

インストールは qt5- ・ kf5- ・ plasma5- で始まるモノがドドドとインストールされます。 akonadi はまだ動かないようですね。なので korganizer やkmail などは動きませんし、インストールされません。 okular は QT4 ライブラリがくっ付いているのでインストールする気にもなれません。これらは 18.04.1 のバージョンで多分解決するのではないかな。と思われます。
オフィスアプリは calligra-3.1.0 よりも libreoffice のほうが良いでしょう。

あと、KDE5 や Qt5 では日本語言語パックがなくなりました。フツーにインストールすると i18n 対応です。一応、 devel/kf5-ki18n がインストールされているかだけ、確認しておきましょう。

ports から make すると PC の性能にもよりますが 40 時間程度でインストールされると思います;-)。

 
あと、ウィンドマネージャとしての kdm がなくなりました。変わりに sddm というのを利用します。 kde5 インストール時に関連性でインストールされないので、後から x11/sddm と deskutils/plasma5-sddm-kcm をインストールしましょう。

起動については kdm4 と一緒です。 /etc/rc.conf に以下のように記載すれば OK です。

sddm_enable="YES"
sddm_lang="ja_JP"

 
sddm は一回起動すると /usr/local/share/sddm/scripts/Xsession というログイン時のスクリプトを生成します。自分好みの起動にしたい場合はこのファイルを直接直しちゃいましょう;-)。

インストールについてはだいたいこんな感じでしょうかねぇ。

 
2). 環境構築。
sddm から左上の「セッション」から “plasma” を選択すると上記 sddm の Xsession から startkde が実行され、デスクトップが表示されます。
“User Session” を選択すると ${HOME}/.xsession が動き出します。

起動後についでてすが、 KDE4 を利用していた場合は ${HOME}/.kde4/ に設定ファイルが置かれていましたが、 KDE5 では ${HOME}/.config/ にバラけて入るようになりました。
僕の場合は、ややこすぃーのがイヤなので KDE4 の設定は引き継がず、新たに KDE5 の設定ファイルが新規に生成されるようにしました。しかし、KDE5 になっても ${HOME}/.kde/ に設定ファイルを置くプログラムが何個があるようですね。

KDE5 のデスクトップ環境は「KDE システム設定」 (systemsettings5) で様々な設定をします。

僕は「KDE システム設定」->「起動と終了」->「自動起動」から「スクリプトファイル」で以下を実行するようにしました。環境変数と X のキーボード周り、あと、言語設定などですね。

#!/bin/sh
# XmodMap Sesource Setup
Xkeybord=$HOME/.xmodmaprc
if [ -f $Xkeybord ]; then
        /usr/local/bin/xmodmap $Xkeybord > /dev/null
fi
UsrResource=$HOME/.Xresources
if [ -f $UsrResource ]; then
        /usr/local/bin/xrdb -load $UsrResource
fi

# Start some clients
xset s 300 300 &
xset s noblank &

export LC_TIME=C
export LANG=ja_JP.UTF-8
export LC_CTYPE=ja_JP.UTF-8

export TZ=JST-9

export TERM=xterm
export UNICODEMAP_JP=cp932

# Session Type Select
export KDE_UTF8_FILENAMES=true
export KDE_LANG=ja_JP.UTF-8
export QT_XFT=true
export GDK_USE_XFT=true

## IME Start
#export QT_IM_MODULE=xim        # Qt4 用設定
export QT_IM_MODULE=fcitx       # Qt5 用設定
export GTK_IM_MODULE=xim
export XMODIFIERS=@im=fcitx

exec /usr/local/bin/mozc start
exec /usr/local/bin/fcitx

# Other Wakeup Programs
# gkrellm
Gkrellm="/usr/local/bin/gkrellm"
if [ -f $Gkrellm ]; then
    exec $Gkrellm &
fi
# Emulate3Button
Xkb2mb2="/usr/local/bin/kb2mb2"
if [ -f $Xkb2mb2 ]; then
    exec $Xkb2mb2 -c 117 &
fi

 
日本語入力は fxitx+mozc を利用しています。 fcitx は Qt5 用に textproc/fcitx-qt5 をインストールする必要があります。そして、環境変数の設定方法も変わっています。

fcitx 自体は今でも GUI 部分に Qt4 ライブラリを利用しています。うーむ。早いところ Qt5 に移行してほしいなぁ。 fcitx5 というのがリリースされているので、早いところ FreeBSD の ports になってほしいモノです。
ちなみに japanese/mozc-tool は Qt5 に移行しています。

文字をベコベコ打っていると、キーボードが 101 形式であることがわかります。 106 キーボードに変更する人は「KDEシステム設定」->「入力デバイス」->「キーボード」から設定します。一番最初に表示される [ハードウェア] タブにのキーボードモデルには 106 キーボードが無いんですね。その横にある [レイアウト] タブの「レイアウトを設定」にチェックを入れて JP 日本語キーボードを新規に登録する必要があります。

以下、キャプチャです。

こんな感じでキーボードを登録すると KDE5 側でも 106 キーボードが利用可能です。 X の twm などでは 106 キーボードが使えるのに KDE5 を起動すると 101 キーボードになってしまうので困ってしまうですねぇ。

 
もっと困ったのがマウスでした。僕の場合 Apple が推奨する Natural Scroll 、それは俗にいうホイールの逆回転ですね。これが動かない。
「KDEシステム設定」->「入力デバイス」->「マウス」に『スクロール方向を逆にする』という項目があり、チェックを入れても逆になりません。あららぁ・・。

色々調べてみると KDE5 からは libinput というのがマウスを管理しているようです。ports 的には x11-drivers/xf86-input-libinput です。 xorg.conf の設定で以下のような感じで用意してあげれば動くようなのですが、 Linux のドキュメントはたくさんある。しかし、 FreeBSD のドキュメントは全く無いっ!!

FreeBSD のフツーの X の使い方では xf86-input-libinput は利用されません。

Section "InputClass"
        Identifier "libinput pointer catchall"
        MatchIsPointer "on"
#        MatchDevicePath "/dev/sysmouse"
        Driver "libinput"
        Option "NaturalScrolling" "true"
EndSection

 
詳細についてはインターネット上にある libinput のドキュメントを読んでください。Linux の場合は /dev/input/event* なるデバイスができるようですが、 FreeBSD の場合はそれができない。デバイスではなく MatchHoge でも装置を認識するようです。装置名などにマッチさせることもできるパラメータで何種類かのマッチ要素があるようです。装置を確認するには xinput list で特定するらしいです。

が、そもそも、現在の FreeBSD (少なくとも僕の環境) では libinput は Xorg で利用されないため必要ないようです。なので、この設定自体は無視してかまいません。

では、どうやってマウスのホイールを逆回転するか? いやはや。古典的な設定で実現しました。

 
o.回避策そのいち (xorg.conf)

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/sysmouse"
#   Option         "ZAxisMapping" "4 5 6 7"
    Option         "ZAxisMapping" "5 4 6 7"
EndSection

 
o.回避策そのに (${HOME}/.xmodmaprc)

pointer = 1 2 3 5 4 6 7 8 9 10 11 12

 
マウスのスクロールボタンは 4,5 なので、その値をひっくり返すことにより対応しました。 KDE5 の設定でなんとかしようとせずに X の設定で対応した。と、いう感じでしょうか。これで、マウスの設定も完了です。ふぅ。

 
僕的にはこれで KDE5 を楽しむことができるようになりました。

 
3). 使ってみる。
KDE4 から KDE Plasma5 になり、画面の雰囲気がガラっと変わり、全体的に明るくなりました。ベースのワークスペースのテーマは Breeze というのになりました。そのおかげでちょっと明るめの気配かな。使用感は KDE4 と遜色ないです。

 
気がついた問題点を少々。

 
o.ディスク IO 負荷が高い
ログインしてしばらくすると /usr/local/bin/baloo_file_extractor が動き出します。これはデスクトップのフル検索のための情報収集プログラムだと思われます。 macOS で言うところの mdworker のようなモノですね。こいつが動いていると KDE5 がやたらと重いのでプロセスを kill してかつ、「KDEシステム設定」->「検索」から「Enable File Search」のチェックをはずすとフツーの速さに戻ります。

 
o.今まであったアプリがない
上にも書いた通り、FreeBSD だけかもしれませんが、まだ akonadi が無いためにオフィス系アプリはほとんどありません。別途インストールする必要があります。もしくは 05/19 以降の ports-current を利用するのが良いかと思われます。

あと、このエントリ書くためにスクリーンキャプチャ (スクリーンショット) を撮ろうとしたんだけど、グラフィックスのメニューの中もずいぶん静かで、ありませんでした。
で、調べてみると、なんとっ!! PrtScr ボタンを押すと起動するんですね。 Windows みたいだ。で、実態はというと /usr/local/bin/spectacle が起動するので、メニューに登録してあげると良いでしょう。 (よくよくメニューを眺めてみると「ユーティリティ」の中にありました)

 
o.konqueror は相変わらずか?
レンダリングエンジンが KHTML から Webengine に変わっていますが、firefox に比べて軽いブラウザなので嬉しいです。が、SSL なサイトは相変わらず閲覧できないのは KDE の証明書ライブラリが相変わらずぶっ壊れているからか?

 
とまぁ、ダラダラと書いてみましたが、一番最初にも書いた通り、約 10 年ぶりのデスクトップ環境のアップデートです。嬉しいですねぇ。途中 KDE4 が重くて xfce4 をインストールしたこともありましたが、やはり KDE は良いですねぇ。

Gtk2/3 の角ばった雰囲気よりも Qt4/5 の丸っこいアウトラインが好きだし、そー考えると GNOME はもう 8 年くらい触ってないし。

などと、書いていますが、皆さんも是非 KDE Plasma5 をお試しください;-)。

4月 302018
 

ゴールデンウィークの前半に秋葉原に NVIDIA GeForce GT 720 と 1TB の 3.5 インチの HDD を買いに行きました。古い PC (Athlon64 X2) で FreeBSD を動作させるためですね。
FreeBSD の場合 AMD (ATI) のビデオカードより ports の x11/nvidia-driver-340/ で動作する NVIDIA の NIC のほうが安心して 3D グリグリできるんですね。

で、お買い物終了後、アキバ散策していたら、新しくジャンク屋さんがオープンしていたのでちょっと覗いてみました。そしたらなんとっ!! PCI のグラフィックスカードの新品が 200yen で売っていたので購入してしまいました。当然ジャンク扱いですが。

購入したのはこんな感じ。もう一度繰り返しますが 200yen で、新品です;-)。

グラフィックスチップは往年の ATI の Rage XL です。メモリ 8Mbyte だそうです。うひひ。

今回再利用しようとしている古い PC には PCI スロットがあるので、この 200yen のグラフィックカードで X が表示できると嬉しいなぁ。などと思い、早速試してみました。

# X -configure
...

 
あらら・・。残念ながら、Xorg の -configure では自動的に xorg.conf を生成してくれないようです。挙句のはてには vesa ドライバが選択されました。
古いビデオカードは X -configure で xorg.conf が生成されないのかななぁ・・。

あと、サイズ的にはフル HD の 1920×1080 サイズで表示して欲しいんですけど・・。

やっぱりメモリ 8MB のグラフィックカードでは無理かなぁ?

あまり、格闘せずにさっさと NVIDIA GeForce GT 720 にしてしまったけど、あきらめがちと早いかな。まぁ 200yen だしなぁ・・。

 
話は突然変わりますが、今回購入した NVIDIA GeForce GT 720 を PRIMERGY MX130 S2 の PCI-e BUS にさして電源投入してみましたが、一回 BIOS 画面が出ただけで、まともに表示してくれませんでした。
今まで NVIDIA GeForce GT 210 を利用していたときは無事に起動してくれていたのですけどねぇ。多分電力量の不足が原因なのでしょうなぁ。 AMD FX-6100 な 6Core の CPU 載っているしなぁ。

と、いうことで古い PC の再利用は NVIDIA GeForce GT 720 で決定です。

4月 222018
 

奥さんが利用している PC は Athlon64 X2 で 10 年くらい前の自作。最近電源が怪しくなって来たのか、突然凍りついたりする機会が多くなってきたので、そろそろ寿命かなぁ。などと思っていたのであります。

で、何かほど良い大きさの PC は無いものか探していたら、 Lenovo V525 が手頃な値段で売っていたので飛びつついてしまいました。

ウェブサイトでクーポン使えて TBO でカスタマイズして一番安い構成にしたらなんとっ!! 28,000yen でした。

大きさは Micro ATX で奥行きがなく短く、そして軽い。筐体的にはこんな感じ。

TBO で選択した構成は以下のような感じ。

  • CPU は一番貧弱な AMD A6-9500 だけど SocketAM4 なので将来性あり
  • メモリ 4GB (届いた PC は PC4-2666V DDR4 だった)
  • CD-ROM なし
  • メモリリータ無し
  • キーボード・マウス無し

ホームページではメモリは PC4-19200 DDR4 SDRAM とか書かれていたけど、中を開けて、実際に確認してみるともっと良いメモリだったので驚きました。

中を開けた写真。

自分で 4GB なメモリを別途購入し、計 8GB にしようかと目論んでいたんだけど、いやぁ・・。 PC4-2666 DDR4 SDRAM で 4GB x1 のメモリってのは中々売ってなくて、 4GB x2 を買うとなるとかえって割高になるのでどうしようか、悩み中・・。

困ったのはこれくらいかな。 OS 込みで 28,000yen なのでむちゃくちゃ安い。今回購入した PC は当面は FreeBSD のインストール予定はないのでこのまま Windows10 を使い続ける予定なのであります。

 
ところで AMD は Intel と違って着替え目で、 CPU inside のシールは前面ではなく、側面の下のほうにテロっと貼ってある状態だったのであります;-)。

よしよし。継続して Intel の CPU は使っていないぞ;-)。

3月 292018
 

以前のエントリで「FreeBSD で if_urtwm を使ってみる。」と、いうエントリを書いているのですが、今回はそれの続編です。と、いうか、僕は USB の Wi-Fi ドングルが好きなようで、今までにもこのブログでは何回か書きました。

最近は REALTEK の USB Wi-Fi ドングルは 802.11a の 5GHz 帯に対応しているものが多いので FreeBSD でもその恩恵にさずかりたいものだ。などと思っているのですけども。

 
前回の USB 接続機器はずいぶんと大きかったのですが、今回は手頃なサイズの USB 機器です。まずは写真を。

でもってこっちがパッケージ。僕の場合 Windows10 で動作確認する前にまずは FreeBSD に接続して確認するのですが、ご多分にもれず、今回も素直に ugen に落ちました(^^;;。

パッケージやドライバ DC の印刷を見てみると REALTEK の RTL8811AU というチップが使われているようです。

で、以前掲載した GitHub を見に行くと・・。おやまぁ。カーネルモジュールのは FreeBSD 12-CURRENT に対応した patch になっているようです。で、ちょっと違ったところを見に行くと、おぉ。 FreeBSD 本体に commit されたのかしら? 新しく rtwn_usb というカーネルモジュールになるようですねぇ。
もう少し待てば、自分でコンパイルせずとも、 OS 標準で利用できるようになるのかもしれません。

 
さてと。今回購入した USB Wi-Fi ドングルですが、仕様としては REALTEK RTL8811AU ですが、 if_urtwm.ko は RTL8821AU 対応です。大丈夫か? などと思い試しましたが、すんなりと動きました。

まぁ、当然の作業として if_urtwm.c にはエントリを記述して、 usbdevs にも product ID を登録する必要があるんですが。

o. if_urtwm.c に記述する行

        URTWM_DEV(REALTEK,      RTL8811AU),

 
o. usbdevs に記述する行

product REALTEK RTL8811AU       0xa811  RTL8811AU

 
これで利用可能になりました。

 
以前のエントリで試した AUKEY の AC1200 というのは USB3.0 接続でチップセットが RTL8812AU でしたが、今回のは USB2.0 で RTL8811AU なので、もしかしたら一個古いチップで USB2.0 対応なのかもしれません。

 
電波が外にもれない(と思われる)部屋で動作確認をしたところ、200MB のファイルを転送してみると 50Mbps 程度でいたので、ずいぶんと速度が速い USB WiFi で、それが FreeBSD で体験できることにある意味感動を覚えました;-)。

 
あ。FreeBSD で 802.11a を利用する場合 /etc/rc.conf のネットワークの設定のところにおまじないを書かないと動作しないようです。

o. /etc/rc.conf の記述例

wlans_urtwm0="wlan0"
ifconfig_wlan0="WPA DHCP ssid AP802-5 mode 11a country J5 inet"
#ifconfig_wlan0="WPA inet 192.168.1.100 netmask 255.255.255.0 ssid AP802-5 mode 11a country J5 inet"

 
上記の設定は SSID: AP802-5 という 802/11a (もしくは 802.11ac) の AP に接続するときの設定ですが、どこの国で接続するか指定してあげないと正しく動作しないようです。おかげでサクサクと動作しているー;-)。

今後は安定的に動作していることを確認して行きたいとは思うのですが、こってりと利用するのはちょっとはばかれるので、動作確認のみ。と、したいと思います。

3月 172018
 

このサイト(https://running-dog.net/)はもう長いことさくらのバーチャルサーバで契約していて、もう 10 年になるかなぁ。ずっと運用しているわけですが、去年辺りにさくらインターネットが無料の Let’s Encrypt を提供し始めていて、簡単に、そして安くサイトの SSL 対応が可能になっていたのですが、今回、ようやくこのサイトも SSL 化しました。

このサイトは CMS に WordPress を利用しているのですが、さくらインターネットでは WordPress 用にプラグインを用意しているんだけど、これは自分でインストールしている WordPress には多分対応していないんでしょうね。僕のサイトではまともに動作しませんでした。

なので『どうしたモンかいのぉ・・。』などと悩んでいたのですが、 WordPress のプラグインに Really Simple SSL というのがあったので、それを利用したら簡単に SSL 化できました。

多少外部リンクなどを変更する部分があったのでその辺りを直して、今に至る。と、いう状態で、このサイトの SSL 化が完了です。

 
それにしても、ブラウザ側、特に Firefox はうるさいですねぇ。 Let’s Encrypt の証明書があてにナラン(本当か?)とか、コンテンツ中に https:// と http:// が混在している。など言って中々正常にカギをかけてくれません。

Firefox ではモンク言われますが、このサイトは SSL 証明書に Let’s Encrypt を利用しているのでどうぞ、安心してご利用頂ければと思います;-)。