Qbilinux 日記

Linux に関係することだけではなく,最近は一般的なコンピュータやガジェット関係についても記載してます.

Qbilinux 開発について(その37): 引き続き Mesa を入れ替えると芋蔓式に...な話と新しい iso イメージ作ってみた話

ぼちぼちと Plamo Linux 6.x のソース一式からブランチして,qbilinux という linux ディストリビューションを作成.

いつまで続くのか.

いじってる qbilinux のホームページは https://qbilinux.org/ に,ビルドスクリプトは https://github.com/qbilinux/qbilinux,バイナリは https://qbilinux.org/pub/ 以下にあります.

引き続き Mesa を新しく入れ替え.

先日の glib/gtk 入れ替え時と同様に芋蔓式に依存関係が崩れてしまって再コンパイル.
うーむ.何度も繰り返すようだとちょっと *.la ファイルを使わない形に変更するようなことを考えないとなぁと思っていたり.
...

で,一通り x86/x86_64 版の方の作業も終わったので何となく current ツリーを使って iso イメージを作ってみました.

インストーラーは 0.3 の鴇と同じものを使ってます.なので NVMe なディスクに新規インストールはできません.正確に書くとインストールできないのではなく,ブートローダーがきちんと設定できていないのでインストール後に手作業で修正してあげる必要があるって感じですね.はい.

その 32bit 版 iso を使って手元の Let's note NX2 にクリーンインストール.

SATA な SSD にインストールしましたが,問題なくインストールできてブートできました.

少し使ってみた感じ,問題となったのは intel の X ドライバがつじつまあってなくて再コンパイルが必要になったくらいかな.

64bit 版の方は VirtualBox に基本部分だけ入れてみましたが,こっちもブートできないとかインストールできないなどの問題はなさそうな雰囲気.

ちょっと安心.

もう少し使ってみてから使えそうなレベルになっている雰囲気なら ftp サイトの方においておこうかと思います.

一応,各ソフトのバージョンは kernel 5.2.1, gcc 9.1.0, llvm 8.0.0, texlive 20190410, libreoffice 6.2.5.2, KDE framework 5.58, KDE application 19.04, Plasma 5.12.8, MATE 1.22, lxqt 0.14.1 な感じになっていたかな.詳細は https://qbilinux.org/pub/qbilinux-current/ 以下を見てください.

あ,arm 版の方は古いままです.ごめんなさい.随時コンパイル作業はしていますが,なかなか追い付かないですね.こっちも一通り落ち着いたら SD イメージを作成して試してみようかなと思っていたり.

現状では gnome 回りがちょっと古いので,今後はその辺りを新しいものに更新してから,インストーラーの修正をして,次のバージョンを締める感じにしようかなと思っています.

とりあえずそんな感じです.はい.

PC 用の新しい twitter 画面使いにくい

PC のブラウザ経由で twitter を使っていますが,徐々に新しい画面に強制的に切り替えられているみたいですね.

この画面嫌い.

使いにくいと思ってます.

基本的に自分の tweet だけ表示させて使っているんだけど,同じことをしようとすると何度もクリックしないとダメ.

一画面に表示されている情報も減ってるんだよな.

メニューに大きな場所使って,tweet 自体の表示領域が減ってる意味がわからない.

なんでこんな画面にするんだろう.

「話題を検索」とかのメニューとか要らないんだけど.

「おすすめ」とか「トレンド」表示も要らない.

消そうとしてみたんだけど,消すメニューは見当たらないみたい.探し方が悪いだけ?

不要な情報が増えて,ほしい情報が減ってる画面って印象.

...

同様にスマホ用の twitter の公式アプリも使いにくいと思っています.

少ししか使ったことないけど,やたら広告みたいな tweet を差し込んでくる印象だし.

なので違うアプリ使ってます.有料のものですけどね.

...

まぁ,なんだかんだと仕方なく使うんだろうけど.

一時期より,使う頻度は相当減ってるんだけど.

linux ディストリビューション作成してていろんなオープンソースなソフトのコンパイル・設定方法を検索しても...

ただの雑談.

最近,いろんなオープンソースなソフトのコンパイル・設定方法を検索しても出てくるのは各ディストリビューションでの設定方法がほとんどになってしまいました.

debian/ubuntu だとこのソフトを apt-get してこのファイルを設定するとか,rhel/centos だと yum して...とか.

で,私自身が知りたいのはもっと素の状態のものをコンパイルしたり設定する方法とかだったりするので,結局,ソース付属のドキュメントみたり,開発元の web サイトみたりになってしまう.

昔は,こうやってコンパイルして,設定ファイルをこう弄ってって解説がたくさんあったのに全然なくなりました.

日本語などで簡単に知りたいってことがたまにあるんだけどね.

そういう意味では Linux From Scratch の文章はちょっと貴重かなと思ったり.

www.linuxfromscratch.org
あとは各種ディストリビューションのソースとかビルドスクリプトの中を直接見たりなどしています.

結局,ここまでディストリビューションが至れり尽くせりになると自分でコンパイルする人も少なくなってしまったので,ご時世的に仕方ないんでしょうね.

広く出回っているディストリビューション上で,自分でソフトのコンパイルするのは割とあたらしいバージョンが使いたいって時くらいだろうし.けど,たいていの場合,そういったケースでもだれかが野良パッケージ作っていたりしますからね.そういうのを使えばコンパイルしなくても良いし.

けど,だれが作ったか良くわからないパッケージを使うって,セキュリティ的にどうかって問題はあるけどね.

私自身も debian で使っている環境に関してはほとんど自分でコンパイルすることもなくなったからなぁ.

まぁ,自分でディストリビューション自体を触っていると,最近はそういうことを感じてるよってことを書いてみました.はい.

cakephp の element の多重呼び出しでの変数渡し

cakephp の element の多重呼び出しでの変数渡し

久しぶりに cakephp の tips みたいなものでも.

element を多重呼び出ししているときに変数を渡そうとしたときにちょっとはまったので.

$a, $b って変数を使って element foo 中で変数 $a を使っている場合,

$this->element('foo');

だけで $a は渡せます.$b を $a として渡したいときには

$this->element('foo', ['a' => $b]);

ですね.

で,問題なのはその先.element foo から element bar を呼び出していて,bar 中で $a を使っているとき.

説明しにくいね.

C とかの関数で書くとこういう感じかな.

foo (a) {
    bar(a);
}
bar (a) {}

な関数に対してのこと.

この場合.$a に $b を渡したいと思って,

$this->element('foo', ['a' => $b]);

とやっても bar 中は $b を使ってくれないのね.グローバルに $a が設定されているから $a が自動的に使われるみたい.

foo 中で bar を呼び出すときに明示的に

$this->element('bar', ['a' => $a]);

って記述しておかないとダメみたい.

ふーん.

10分ほど悩んでしまいました.

あまり詳しく追っ掛けてないんだけど,php の言語仕様からくる制限なのかな?それとも cakephp の制限?

まぁ,時間のあるときにちょっと追っ掛けてみるかなって感じ.

debian 10 buster がリリースか

debian 10 buster がリリースされましたね.

www.debian.org
詳細は上記のニュースを見て頂くとして,5年間のサポートは嬉しいですね.

ということで,手元の ThinkPad X250 にもインストール.というか,debian 9 stretch からのアップデート.

これまでは適当な手順で行っていましたが,今回は official なドキュメントに沿って作業.その方がトラブルが少ないかなと思ってね.ドキュメントはこのあたりかな.

www.debian.org

1時間ほどで無事 stretch から buster にアップデート終了.

これまでに何度か予行演習をやってましたが,ちょっとは役に立ったかな.

buster にしてから半日ほど使っていますが,目立った不具合は無さそうな雰囲気ですね.これまでも何度か buster をインストールして使ってはいましたが,ちょこちょこ不具合は感じていたんですけど,そういった感じはなさそう.感じていた不具合に関しては,時間がなくて報告とかはしてなかったんですけど._o_

docker 使ったりの開発環境などにも使っていますが,それらも問題なく動作しているようです.ふう.

各種ソフト類も新しくなって良い感じですね.

ということで,ざっと使った感じでは問題なさそうなので,もうしばらく様子をみてから私自身が管理している公開サーバー類もアップデートしようかなと思っています.公開サーバーは安定稼働しているので無理にアップデートする必要はないんだけど,ツール類が新しくなっているので,そっちのメリットの方が大きいかなと.

5年間のサポートもあるし.

そんな感じで簡単な debian buster のレビューでした.

Panasonic Let's note SX3 の液晶交換

手元で Panasonic Let's note SX3 を使用.

3ヶ月くらい前かなぁ,気がついたら液晶にドット抜け.

騙し騙し使っていたんだけど,徐々にドット抜けが広がってきた.

最初は横方向にキーボード幅くらいのドット抜けがあっただけなんだけど,最近はそれが増殖して広がったと同時に,さらに横に一本ラインが抜けてる状態になってしまった.

f:id:toshi-mtk:20190706134004j:plain

ドット抜けになった場所と間隔からすると,何か衝撃があったときにキーボードが液晶パネルにぶつかったのかなぁとも思ったり.

この状態でも我慢して使っていたんだけど,画面上でデザイン作業なんかをしているときに,ふとデザインなのかドット抜けなのかパッと判断できないときが出てくるんだよな.

ということで,我慢できずに修理しようかなと.

最初は普通にパナソニックでの修理費用を調べたんだけど,修理目安金額 53,000円 程度とのこと.ちょっと無理....

一応,この SX3 って新品購入して4年保証に入っていたんだけど,案の定というか何というか,保証期間の4年過ぎてから故障するものなのね....やっぱり....

以前,別途所有している NX2 の修理を野良業者にお願いしたことがあったんだけど,その野良業者さんでの修理費用も調査.中古の液晶モジュールを使うように依頼すれば安くはなるみたいだけどそれでも 20,000円 前後になりそうな感じ.ちょっと高いな.どこの業者さんかはちょっと秘密.色々あるので適当に検索して良さそうなところを探してみてください.あくまでメーカー修理じゃないので自己責任って事になりますけどね.

で,液晶型番で調べてみたところ,普通に Let's note 用の液晶モジュールが amazon とか楽天で販売されているらしい.新品の液晶パネル自体が 10,000円 前後だからまぁこれで良いかと思って自分で交換することに.交換手順などは分解工房さんのホームページ詳しく書かれていますね.

bunkaikoubou.jp
分解工房さんのホームページはちょくちょく利用させて貰っていますが,かなり重宝しています.

一瞬,パーツ取り用のジャンクなんかをオークションとかで安価に購入して液晶だけ交換って事も考えましたが,この SX3 は仕事に使っているので辞めました.Let's note の上半身だけとかなら 3,000円 とかで落札できそうだったんだけどね.

自分で修理することに決めたものの,液晶パネルをどこで購入しようかなぁとちょっと悩みましたが,最終的には楽天のショップで購入しました.

今回はリスクを取りたくなかったので海外での注文は辞めました.で,amazon を調べたら値段は割と安いですが,なんかあんまり評判良くないみたい.一方,楽天の方は値段は少し高いけど6ヶ月保証があったのと,即日出荷で翌日には納品されるということで楽天で良いかなと.領収書等も発行してもらえるようでしたからね.

分解工房さんのところでも販売していますが,SX1/SX2 用液晶は在庫ありでしたが,SX3/SX4 用は在庫なしだったので今回は選択肢から除外しました.

一応,購入前に手元の SX3 を分解して液晶型番が CLAA121UA02CW ってことで同じ部品を発注.楽天の購入先はこのあたり.

item.rakuten.co.jp
で,注文の翌日に到着.

f:id:toshi-mtk:20190706134000j:plain

分解工房さんのホームページを参考にさくっと作業...と思ったら全然ダメダメ.液晶パネルの回りに付いている緩衝材ですが,分解工房さんのホームページに載ってるのとは全然違う形のものがついていました.しかもがっつり付いていて全然はずれない状態.マイナーチェンジで変更になったのかな?

無理やりはずしましたが,金属部品が思いっ切り曲がってしまいました.

f:id:toshi-mtk:20190706133956j:plain

はずしたそれらの緩衝材を新しい液晶のほうに取り付けしましたが,両面テープがとれちゃったので自分で小さく切った両面テープなどを使いながら固定.でも金属部品が曲がってしまったので,綺麗には付きませんでした.けどなんとか無理やりつけて,元通りに組み立てしました.ふう.

ということで復旧.

動作確認して問題なく液晶パネルが映っていることを確認.液晶パネルの品質がちょっと不安でしたが,全然問題ない感じ.

交換作業をした感想ですけど,もう一回作業ししますかって聞かれたらもうやりたくないなぁって感じ.作業料が数1,000円程度なら業者にお願いしたいですね.液晶の回りに付いてる緩衝材は取り外すことは考えられていないみたいだし,液晶パネル交換時には緩衝材込のユニット交換が前提に作られている雰囲気だから.

何度か Let's note を分解しましたが,全体的な作りはやっぱり日本製の細かい感じだなぁと思います.ThinkPad を良く分解するけど,全然 Let's note の方が緻密な作りだなって印象ですね.その分,分解とか交換作業,組みたてなどは面倒なんですけどね.:-)

ThinkPad だと部品が簡単に入手できますが,最近では Let's note でもある程度の部品は入手できるようなので少しだけ安心ですね.

以前,NX2 を修理した際にも,自分で部品を調達して修理しようかなと思ったんですけど,調べてみたら野良業者さんで部品代 + 3,000円 くらいで修理してもらえるってことだったので自分で作業するのは辞めてお願いしまいました.修理の際に他にも不具合ないか一通りチェックしてもらえるって事だったので自分でやるよりはお得かなぁということでね.

まぁ,簡単ですけど Let's note を自分で修理してみた話でした.

Qbilinux 開発について(その36): glib/gtk 周りをいじると芋づる式に

ぼちぼちと Plamo Linux 6.x のソース一式からブランチして,qbilinux という linux ディストリビューションを作成.

いつまで続くのか.

いじってる qbilinux のホームページは https://qbilinux.org/ に,ビルドスクリプトは https://github.com/qbilinux/qbilinux,バイナリは https://qbilinux.org/pub/ 以下にあります.

最近は glib/gtk 周りを新しめのものに更新中.

Plamo-6.x 時代のままで更新してなかったら,gnome を新しく更新したり cinnamon を作ったりでちょっと必要になりそうなので.

そうすると芋づる式にダメダメになっていく.

依存関係が多いからね.

おまけに glib/gtk の build 環境が configure & make から meson & ninja に変更になっていたり libtool 使わないようになっていたりで大変なことに.

/usr/lib, /usr/lib64 以下などにある *.la ファイル中で glib/gtk 関連の .la を呼び出しているパッケージが全滅.

あーあ.

仕方ないので一個ずつ追っかけて新しいバージョンのパッケージが出てれば更新しながらリビルドを繰り返してます.

...けど,freetype とか harfbuzz ではかなり苦戦.これらはお互いがお互いのライブラリに依存してる上に,glib とかにも依存してます.

修正するためには harfbuzz を freetype に依存しないように作ってから,freetype を harbuzz に依存しないように作成.その状態で harfbuzz を freetype に依存する形で作り直そうとすると,harfbuzz はその他いろんなものにも依存していて,それらも glib に依存してたり.で,必要なもの (cairo とかだったかな?) を全部作り直してからようやく harfbuzz を作り直し.で,最後に freetype を harfbuzz に依存する形で作成.

って感じの作業.

何を書いているか判らない?

まぁ,普通はそうかもしれないですね.そんな感じの作業をしてるってことで,軽く読み流して頂いてかまいません.

可能な限りボチボチとやっていきます.はい.

Plamo-7.x は Plamo-6.x から環境を全部リセットしたので libtool は使わないようにしたんだっけ?libtool 自体のパッケージはあるようだけど,よく知らないです.

...

glib/gtk はビルド環境が configure から meson とかに移行しましたが,最近のツールは徐々に configure は使わない形になっていってますね.

まぁ,そちらの方がパッケージ作成のメンテも楽なので良いことかなと思います.

configure 使っていると aarch64 の定義 (arm 64bit 環境のことね) がなかったりなので,aarch64 対応のために修正を入れる必要があったりして.これが地味に面倒な作業になってます.:-P

そろそろ次のバージョンをいつ締めるか考えようかなぁと思っていますが,いつ頃が良いんでしょうかね.

いまのところは年末辺りをめどに作業していく感じかなと思っています.

現状はそんな感じです.

新しい PC 用のテレビチューナーボード MiyouTuner の話とか...いろいろ雑談

新しい PC 用のテレビチューナーボード MiyouTuner が makuake でクラウドファンディングを募集していましたが,目標金額を達成したみたいですね.

www.makuake.com

MiyouTuner は PCI express のチューナーカードで地上波8チャンネル・BS/CS放送波2チャンネルの合計10チャンネルのチューナーが付いてるみたい.

元々,アースソフトとか PLEX,ガラポンなんかで動作する MiyouTV を作ってる未来検索ブラジルがチューナーカード自体を作ろうとしてるみたいね.

ふーん.

なんか makuake で投資した人のコメントを見てるとアースソフトのチューナーとか sony の nasne からの乗り換えを考えている人が多そうな雰囲気ですね.

ソフトは現在で回っているソフトに乗っかるみたいな噂もあるけどどうなんだろうね.家電製品並みに普通に使える,きちんとしたソフトが出るのであれば大化けする可能性もあるかなとは思うんだけどね.

まぁ,PC 用のテレビチューナーカード自体の選択肢が増えることは良いことなんじゃないかなと思います.はい.

このカードに関しては,個人的にはロープロファイルに対応していないとか,地デジチューナーはそんなに要らないから購入するつもりは今のところないですね.

というか...

そもそも最近はテレビ録画という作業自体に急速に興味を失っていたりします.

TVer とか amazon prime video,netflix などの各種オンデマンドを使っていたりすると,もう録画作業しなくて良いんじゃないかなと.元々,そんなに地上波の番組見てないし.

ということで,何枚か所有していたアースソフトのテレビチューナーカードは少し前に全て処分してしまいました.

ついでにチューナー付いてるテレビも処分して,ただのモニター + amazon fire tv だけで過ごすのも悪くないかなとも思ったり.

そうすれば NHK の契約も解除できるかなと.

そう思って,最近はたまにチューナーの付いてないモニターを物色していたりします.JAPANNEXT とか io data の40インチクラスのモニターってどうなのかなぁってね.他は一時期話題になっていた sony の業務用 bravia の BZ35F/BZシリーズとか.

PC 用のモニターだと画質補正機能が付いていないので,やっぱり業務用の bravia とか良いのかなぁってね.

テレビに関しては最近はそんな感じで過ごしていますね.はい.

 

raspberry pi 4 発売か

raspberry pi 4 発売なんだね.

www.raspberrypi.org

けどなんで最初のモデルなのに model B なんだろうね.

あ.上記の web に説明があったか.

CPU のアップグレードとかは当然だろうけど....

メモリが増えるのか.

ちょっと良いかも.メモリが 4G あれば 64bit linux のメリットが出てくるね.自作の qblinux aarch64 版も意味が出てくるかな.

micro HDMI はちょっと....やっぱり普通のサイズの方が使いやすいかな.

電源系が USB-C になるのは時代の流れかな.

あとは USB-3 とかネットワーク端子のアップデートとかか.

...

やっぱり個人的にはメモリが増えるのは良いことだけど,端子まわりの変更はちょっとアレかもなぁ.

これまで使っていた周辺機器とかケースで使えないものが出てくるから.

 

Qbilinux 開発について(その35): arm 版 current を更新

ぼちぼちと Plamo Linux 6.x のソース一式からブランチして,qbilinux という linux ディストリビューションを作成.

いつまで続くのか.

いじってる qbilinux のホームページは https://qbilinux.org/ に,ビルドスクリプトは https://github.com/qbilinux/qbilinux,バイナリは https://qbilinux.org/pub/ 以下にあります.

たまには現状報告でも.

x86/x86_64 版にできるだけ同期させるため arm 版 current を色々更新しています.current バイナリは https://qbilinux.org/pub/qbilinux-current/ 以下にあります.

ということで armv7l 版の gcc/llvm/openjdk などはほぼ最新になりました.

aarch64 の方は現在作業中.追って公開します.

version 0.3 の armv7l/aarch64 版はビルドしてなかったパッケージとかビルドに失敗していたパッケージなどが多数混じっていたので,次のバージョンではきれいな状態のものが作れれば良いなぁと思っていたり.

当初の arm 版の目標は

  • 普通にサーバー環境として使えるレベルにしたいな.
  • デスクトップ環境はメモリ容量が厳しそうなのでほどほどで良いかも.KDE は動かせるのは動かせるけど,常用には厳しそうだし.
  • マルチメディア関係のアプリは動かしたいな.GUI 的には無理だろうけど,機能的には volumio とか openelec と同等くらいまでのものにはしたいな.

って感じで作っているので,その程度のもにに出来ればとは思っています.まぁ,時間的な制約からいつになるかは判りませんがボチボチ作業していきます.はい.

arm 32bit 版を現在の armv7l から armv6l アーキに変更したいなって話を過去に書きましたが,その件に関してはしばらく先送りかなぁと思っていたり.コンパイラとか基本ライブラリを armv6l 用に作り直す作業をする時間があんまり取れなさそうなので.:-)

....

version 0.3 の x86/x86_64 版のセキュリティアップデートも気がついたときにやってます.はい.

ただし,arm 版のセキュリティフィックスは current の作業をフルフルでやってるために放置状態になってますけど..区切りの良いときに作業します.^^;

コンパイラ周りとかのビルドを始めると数日かかる状態になるので.

しかしまぁ,0.3, current 両方とも現状では ChangeLog を書いていないので,何を更新しているかが判りにくいですね.申し訳ないです.昔は書いていたんですけど,面倒になって辞めてしまいましたね.

0.3 の方のセキュリティフィックスは https://github.com/qbilinux/qbilinux/commits/Qbilinux-0.3 あたりを参照してください.基本的に現状のソフトバージョンのまま固定で,セキュリティアップデートがあったものと,大きな不具合があったものだけを修正しています.

current の方は https://github.com/qbilinux/qbilinux/commits/master のあたりを.こっちは積極的にソフトのバージョンをどんどん上げて行っています.

プラットフォームによってはバイナリパッケージが追いついていない場合がありますが,基本的に github の方に上げた修正を取り込んでパッケージを作成していますので,お急ぎの方は github から clone してビルドして頂ければと思います.使っている方はあんまり居ないと思いますが,一応....

あ,けどビルド方法などをきちんと書いたドキュメントとか作ってないですね.暇を見て書かないと....

とりあえずそんな感じですね.はい.