Debian Testing で最新の Firefox を使う

 Firefox のバージョンも60を数えた2018年。Shiretoko (バージョン3.5)がもう遠い昔のことであるように思われます。アドオン類もメインストリームは Quantum 対応に移りつつあり,Quantum アップデートによる改革は成功したと言えるでしょう。
 ところで,Debian GNU/Linux が採用している Firefox ESR は Quantum アップデート以前のバージョン52で,これをメインで使ってきた私は半年間に渡って世界の流れ(?)から取り残されてきたことになります。
 もちろん Mozilla が配布しているパッケージを導入することもできるのですが,/opt 以下にインストールすることは想像もしたくない,かといって ~/ 以下にインストールするのもユーザ権限で改変できるわけで気持ち悪い……というわけでなんとなく ESR を使い続けてきました。しかし,unstable (Sid) にある firefox が Mozilla による正式リリース版ほぼそのものだということを(今更)知ったので,unstable のレポジトリから持ってきてみました。偉大なる APT は我らを導く!
 基本的にはDebian Mozilla team APT archive のページにある通りなのですが,ひとつ重大な問題があって,この通りにするとシステム全体が unstable にアップグレードされてしまいます。こわい。なので,これに加えて Default-Releasae も指定してやる必要があります。具体的には以下のような手順になります。

1. unstable のレポジトリを追加

# vi /etc/apt/sources.list.d/10-unstable.list
deb http://http.debian.net/debian unstable main

 
2. Default-Release を設定

# vi /etc/apt/apt.conf.d/10default-release
APT::Default-Release "testing";

 
3. firefox と firefox-l10n-ja をインストール

# apt update
# apt install -t unstable firefox firefox-l10n-ja

 
 以上で最新の Firefox がインストールされました。
 今の最新版は 60.0.1,検証期間が完了して Debian レポジトリの Firefox ESR が 60.2 に置き換わるまでにはしばらく時間がかかりますが,これでもう安心です。もっと早く気づくべきだった
 なお,Debian Mozilla team APT archive ページを見るに,このやり方を stable で実行することは推奨されないようです。実際に試してみると,なぜか libc6 等にまで依存関係があり巻き込んでアップデートしてしまうようで,たしかにこれはあまりよくないです。stable ではおとなしく firefox-esr を使うか ~/ にバイナリを置くかするようにした方がよいかと思われます。
 
 
 
以下は自分用メモ(読まずにコピペしないこと!)

echo "deb http://http.debian.net/debian unstable main" > /etc/apt/sources.list.d/10-unstable.list; echo "APT::Default-Release "testing";" > /etc/apt/apt.conf.d/10default-release; apt update; apt install -t unstable firefox firefox-l10n-ja

Firefox で国際化ドメイン名を punycode で表示する ―― IDN 悪用フィッシングにとりあえず対策

 最近になって暗号通貨取引所に成りすましたフィッシングサイトが多く現れているようで,国際化ドメイン名(IDN)悪用の問題が話題になっているようです。
 この問題は国際化ドメイン名の登場当初から指摘されており,たとえば「apple.com」ではなく「аpple.com」(キリル文字で「アー・エル・エル・パーロチカ・イェー」)で登録するなどして,正規ウェブサイトのドメイン名と視覚上見分けがつかないドメイン名を取得し,フィッシングに悪用するという手法です。

窓の杜 – 【NEWS】Mozilla/Firefox/Operaなどに国際化ドメイン名の盲点をついたURL偽装の問題(2005/02/08)
肉眼では偽物と見抜けない国際化ドメイン悪用のURL偽装、Google Chromeなどで対策進む – 窓の杜(2017/04/21)

 国際化ドメイン名のコンセプト自体に起因している問題であるため抜本的な対策は困難で,十年以上にわたり対策が試みられ続けてきてなお完全な解決を見ていない問題ですが(なにしろ Unicode には十万以上の文字が収録されていますし,各レジストラのポリシも様々です) 1,国際化された表示を無効化し,国際化ドメイン名表示のための符合である punycode で表示するように設定することでさしあたりユーザ側で簡単にフィシング対策ができます。

about:config を開き,
network.IDN_show_punycode」の値を true にしてください。

これで,国際化ドメイン名が punycode で表示されるようになります。先述の「аpple.com」なら「xn--80ak6aa92e.com」と表示され,正規のサイトではないことが一目瞭然になります。
デメリットは国際化ドメイン名がわかりにくくなることですが,それで困る人がいるのかは不明。

Notes:

  1. レジストラが紛らわしいドメイン名の登録を拒否する,Firefox などクリックせずに EV-SSL の組織情報が表示されるブラウザで EV-SSL を利用する等が考えられますが,現実的には難しいでしょうね。

Source Han フォント(源ノ角ゴシック・源ノ明朝)のすゝめ

なぜ Source Han フォントを使うべきか

利用に制限のない自由なライセンスのフォントなので,クロスプラットフォームで統一された表示を実現できる 1
・ Adobe と Google が自分たちのビジネスで使うために開発したフォントであり,トップクラスの商用フォントベンダである Adobe とイワタによって制作されているため高品質
・ CJK+欧文に対応しているので国際化にも最適

Source Han Sans/Source Han Serif と源ノ角ゴシック/源ノ明朝の違い

 同一のフォントの英名と和名です 2 3 4。Source Han Sans の日本語名が「源ノ角ゴシック」,Source Han Serif の日本語名が「源ノ明朝」です。なお,Source Han は Google が公開する Noto フォントにも取り入れられており,Noto フォントの CJK 部分も同じものになっています 5

Source Han フォントを導入するには

Step 1. ダウンロード

Source Han Sans
Source Han Serif

 さまざまな形式が用意されていますが,「Language-specific OTFs」の日本語向けのものを選ぶとよいでしょう。
 なお,日本語に関する部分だけを切り抜いてサブセットにした「Region-specific Subset OTFs」というものも用意されており,公式の説明ではどれを選べばよいかわからない場合の推奨とされていますが(古いシステムでも使える,ファイルサイズが小さいなどの理由による 6),アプリケーションからは元々の Source Han フォントとは別物として認識されてしまい,自由なライセンスによる環境や言語を超えたフォントの統一というアドバンテージは減じてしまいますので,「Language-specific OTFs」をおすすめします。
 Sans(ゴシック体)では SourceHanSansJ.zip を,Serif(明朝体)では SourceHanSerifJ_EL-M.zip および SourceHanSerifJ_SB-H.zip の両方をダウンロードします。これらを解凍すると,Sans と Serif それぞれで基本となる7ウェイト(太さ)のフォントファイルが準備できます。

Step 2. インストール
各 OS のフォントインストール機能を利用してください。
Windows の場合,コントロールパネルから「デスクトップの設定>フォント」を選択し,表示されたパネルにフォントファイルをドラッグ&ドロップします
macOS の場合,「Font Book」アプリケーションを利用します
Linux の場合,~/.fonts/(ユーザのみ)または/usr/share/fonts/opentype/(システム全体)にフォントファイルをコピーします。最後に,fc-cache -v を実行してフォントキャッシュを更新してください。フォントビューアー gnome-font-viewer などのフォント管理アプリケーションを利用してインストールこともできます。ユーザのみに導入する場合,このスクリプトを使うことで一括ダウンロード&インストールすることもできます。

どのウェイトを使うべきか

 Source Han フォントは Adobe によって開発されているだけあり,タイポグラフィでの利用を念頭に7種類ものウェイトが用意されています。しかし,オフィススイートなどで“普通の”フォントとして使うにはどのウェイトを使えばよいのでしょうか。Medium, Normal, Regular と似たようなものが多く迷いますが,Regular が標準的なウェイトで,既存のフォントと並べても違和感のない表示になります(欧文フォントでは regular の語が正体という意味で使われます)。もっとも近年は細身のフォントが文書作成の用途でも使われるようになってきていますので,お好みで Light を使うのもよいかと思います。

Source Han フォント以外のお勧めフォント

VL ゴシック
 固定幅の「VL ゴシック」と可変幅の「VL Pゴシック」からなります。M+ フォントに欠けている文字をさざなみフォントで補ったうえで調整を加えたもので,Linux 界では長らく IPA ゴシックと並んで標準ゴシック体の地位を占めているフォントです。クリーンで読みやすいフォントであり,個人的には Source Han Sans より好みです。ぜひ Linux 以外の環境でも使ってみてほしいフォントです。

IPA Mona フォント
 IPA フォントを元にしてフォント幅を「MS ゴシック」「MS Pゴシック」「MS UIゴシック」「MS 明朝」「MS P明朝」に近づける調整が加えられた「IPA Mona ゴシック」「IPA Mona Pゴシック」「IPA Mona UIゴシック」「IPA Mona 明朝」「IPA Mona P明朝」からなります。Windows 以外の環境で Windows 環境に極力近い表示結果を得たい場合に役に立つフォントです。

Debian 上の GTK デスクトップ(Xfce, Gnome 等)で Qt アプリの外観を統合したい

何度やっても忘れるのでメモ。

2017/10/10追記:
qtconfig は多機能ですが,実際にはテーマを「GTK+」にする以外で使うことが殆どないことに気付きました。テーマだけなら,設定ファイルに書き込むだけで選択できるようです。

$ echo 'style=GTK+' >> ~/.config/Trolltech.conf

以下は設定ソフトを入れたい方用です。
 
1. qtconfig をインストールする。

$ sudo aptitude update && sudo aptitude upgrade
$ sudo aptitude install qt4-qtconfig

2. qtconfig を起動する。

$ qtconfig

qtconfig-qt4 でもよい。インストールパッケージ名とは微妙に違うので注意。

3. 「外観」タブの「GUI スタイル」セクションにある「GUI スタイルの選択(S)」プルダウンメニューを開き,「GTK+」を選択。左上の「ファイル(F)」>「保存(S)」を選択するか,ウィンドウを閉じる際に表示されるダイアログで「はい(Y)」を選択すると設定が保存される。

4. Virtualbox とか Keepassx とかがいい感じになる。やったぜ。

参考:
Qt と GTK アプリケーションの外観の統合 – ArchWiki
arch linux – qtconfig tool for Qt 5? – Unix & Linux Stack Exchange Qt5 には qtconfig がないらしい

Linux におけるラップトップマシン向け電力管理スイートの紹介(Pm-utils, Laptop-mode-tools, Powertop, TLP)

 Linux をラップトップマシンにインストールすると Windows に比べてバッテリの持ちが悪い,ということが言われることがあります。
 これは事実でしょう。最大の理由は,電力管理の設定が最適化されていないことです。Windows ではメーカが機種ごとに作成した環境のリカバリディスク,あるいはドライバやユーティリティ類がありますが,大半の Linux ディストリビューションでは,32コアのワークステーションでもポケットサイズのモバイルマシンでも同じ DVD を使ってインストールします。したがって初期設定はまずはどんな環境でもそつなく動くようにしておく必要があり,マシンの特性に合わせた最適化は施されていないのです。
 幸い,Linux ではさまざまな省電力機能がサポートされていますし,それらを一括して管理できる見通しの良いツールもあります。数十分ほどの時間をかければメーカが用意した Windows 環境並み,そして(大抵は Linux 環境の方が負荷が軽いこともあり)それを超える電力管理をも実現できます。私のメインモバイルマシンである CF-SX1 は Windows より Debian の方がファンが静かな上に快適に動きますし,バッテリの持ちも良いです。
 この記事では Linux 環境の代表的な電力管理スイートを4つ簡単に紹介します。あくまでも私の個人的な意見であることに注意してください。公式サイトに加え Arch Linux Wiki (Arch Linux ユーザでなくとも極めて役立つ必見リソースです)の該当記事へのリンクも付けましたので参考にしてください。

Pm-utilsArch Linux Wiki 記事
 他のツールと組み合わせることで電源管理にも利用できるため Laptop-mode-tools 等と並べて名前が出ることも多いですが,pm-utils 自身はあくまでもコマンドラインから電源を操作するためのツールです。
 電源管理スイートとして使うためには様々な設定・スクリプト作成が必要で,しかも利用できる機能は限定的です。そのうえ systemd 移行により機能が被ってメリットが失われ,それどころか問題の原因となりうることもあって,今ではあまり人気がないようです。既に pm-utils を利用するスクリプトを多く書いて利用しているという方はともかく,今から導入するメリットは薄いように思います。

Laptop-mode-toolsArch Linux Wiki 記事
 長らくラップトップ用電源管理スイートとしてスタンダードの地位を占めてきたツールです。名称は,カーネルに組み込まれている機能である「Laptop mode」を利用する(しやすくする)ためのツールという意味で,ラップトップマシンのための電源管理スイートの草分け的存在と言えるでしょう。私が最初に導入したツールがこれで,4年ほど前まで使用していました。
 現在でも使われていますが,いかんせん古いソフトという印象で,どうも設定が煩雑でわかりにくいです。よいソフトではあるのですが,他と比較すると,今から導入するメリットは薄いかもしれません。
 もっとも現在も開発は続いていますし,最近は github のコミットも活発になっているようです。これから大きく変わることもありえます。今後の発展に期待です。

PowertopArch Linux Wiki 記事
 Intel 謹製の電源管理スイート……というより,電源管理診断ツールといったものです。公式ウェブサイトでも「a Linux tool to diagnose issues with power consumption and power management」とされています。電源管理機能はあくまでも診断の便宜のためといったスタンスで,再起動すると設定は失われてしまいます。設定を永続化させるためには起動時に自動で powertop に命令するスクリプトを組むなどする必要がありますが,これが少々手間です。また,あくまでも診断のための機能のため,バッテリ駆動時と AC 駆動時でプロファイルを分けるといったこともできず(やるならこれも自前でスクリプトを組んでステートが変わるたびいちいち命令させる必要がある),あまり細かいことをするとデバッグの手間が出てきます。手抜きの荒業としては rc.local に(今なら systemd のサービスを)書いて /usr/sbin/powertop --auto-tune を起動時に自動実行させるというのもありますが(TLP 導入に先立って一時期そうしていました),細かい設定ができないことによる副作用があるうえ,マシンによっては大きな問題が発生することもありえます。
 一方で設定のチューニングには非常に使いやすいツールです。下記の TLP と併用している人が多いようです。概算の消費電力が表示されるのもなんだか楽しいです。

TLPArch Linux Wiki 記事
 結論です。今から入れるならコレ! 機能と手軽さの両面で他の3つを上回っています。
 公式サイトには「TLP comes with a default configuration already optimized for battery life, so you may just install and forget it」と頼もしいことが書かれています(もちろん,実際にはマシンや利用スタイルに合わせた調整もしたほうがより良いのですが)。Powertop と違いシステムの一部を構成する電源管理スイートとして設計されており,解説付きの設定ファイルを少しいじるだけで電源管理を最適化することができます。また,バッテリ駆動時と AC アダプタ利用時での別のプロファイルの利用に標準対応しています。systemd との親和性も高いです。
 現状では主として linrunner 氏という匿名の個人のみによって開発されていて開発の継続性や方向性がやや不透明なのが短所といえば短所ですが(cf. xscreensaver),既に6年以上開発が続いており,実績は充分です。
 Debian の場合,TLP はターミナルから以下を実行することで導入され,機能を開始します(詳しくは Arch Linux Wiki を参照)。

$ su
# aptitude update
# aptitude install tlp tlp-rdw
# systemctl enable tlp.service
# systemctl enable tlp-sleep.service
# systemctl disable systemd-rfkill.service
# tlp start

Raspberry Pi Foundation,PC 向け GNU/Linux ディストリビューションを公開

PIXEL for PC and Mac – Raspberry Pi
Raspberry Pi Foundation releases operating system for PCs, Macs • The Register

Introducing PIXEL – Raspberry Pi

 今年9月,Raspberry Pi Foundation は,Raspbian のデスクトップ環境に “PIXEL” という新しい名前を与えました。PIXEL という名前は「Pi Improved Xwindows Environment, Lightweight」の(ちょっと苦しい)略とのことですが,「ZX81 で BASIC のプログラムを勉強していた頃を思い出させてくれるもの」とのことでもあります。この変化はどちらかといえば目立たないものでしたが,デスクトップ環境が Raspbian から切り離されたことで面白いことができるようになりました。Raspbian のデスクトップ環境 PIXEL を Raspbian 以外の環境でも使う,ということです。
 上記記事では,デスクトップ環境として PIXEL を使用した Debian の実験版へのリンクが貼られています。書きぶりからすると,独立したデスクトップ環境としてというよりは Debian ベースの x86 用 GNU/Linux ディストリビューションとして開発してゆくものと見られます(elementary OS と Pantheon の関係に似ています。Linux Mint の Cinnamon・MATE のように専用から始めてだんだんと独立したデスクトップ環境としても成熟させてゆく考えかもしれません)。少々ややこしいですが,このディストリビューションも PIXEL と呼んでいるようです。
  PIXEL のベースとなっている LXDE 自体軽量デスクトップ環境として代表的なもので,しかもその見た目を Raspberry Pi 用に調整してきたものであるため,とても軽量なうえ低解像度環境にも向いたものとなっています。Eben Upton 氏の記事では「512MB以上の RAM があれば私の ThinkPad X40 のようなビンテージ物のマシンでも動く」として実際に X40 で PIXEL が動作している写真がアップされています。これまで「軽い Linux ディストリビューション」が現れては消えてきましたが,使いやすさとシンプルさのバランスが取れているのみならず開発の継続性に実績がある Raspberry Pi Foundation によって提供されることとなる PIXEL は新しい定番となるでしょう。
 PIXEL が公開されることにより Raspberry Pi に及ぼされる影響は,今のところよくわかりません。記事中では,学校では PIXEL・家では Raspberry Pi の Raspbian を利用するなどしてほぼ同様の環境を容易に提供できるようになる,デスクトップ環境としての PIXEL をより良いものとしてゆくために役立つ,という2つの理由が挙げられています。逆に,たとえば学校の授業で Raspberry Pi を使っている子どもが Windows に慣れるより先に Raspbian に慣れて,家に帰っても慣れた環境,すなわち PIXEL を使うようになる,ということもあるかもしれません。
 ともあれ,今後に期待ができそうです。

My original Minetest skins

These are some Minetest skins I made. All skins reached revision 1.0 are also available on Addi’s Open MT-Skin Database but make sure that any tweaks made on revisions higher than 1.0 will not be applied on the database because it seems there is no function to remove or update skins uploaded at this time. All skins on this post are licensed under CC BY-SA 4.0 or later / CC BY-SA 2.1 JP or later / GFDL 1.3 or later (pick one most suitable for your purpose). The author name is “maruyuki”.

Diceman
diceman-frontdiceman-back
A cube. First of all, it’s a dice.
Revision: 1.0
Release/Last update: 2016-08-15
Download
Variant: Floating dice.

Wireframe boy
wireframeboy-frontwireframeboy-back
In honor of the great vector scan age…
Revision: 1.0
Release/Last update: 2016-08-15
Download

Balloon 2
balloon-frontballoon-back
But still you will hear your footsteps, weirdly.
Revision: 1.0
Release/Last update: 2016-08-15
Download
Old version (Balloon 1, not using mantle, for environments 3D Armor Mod installed)

Police officer
police_officer-frontpolice_officer-back
A diligent police officer works really hard.
Revision: 1.0
Release/Last update: 2016-08-15
Download

Shopkeeper
shopkeeper-frontshopkeeper-back
A friendly yet shrewd shopkeeper selling everything, from daily foods to banned weapons.
Revision: 1.0
Release/Last update: 2016-08-15
Download

Aloha tourist
aloha_tourist-frontaloha_tourist-back
Blue ocean, shiny sun… Tropical islands awaiting your visit.
Revision: 1.0
Release/Last update: 2016-08-16
Download

Mondrian
mondrian-frontmondrian-back
More artistic one; Mondrian.
Revision: 1.0
Release/Last update: 2016-08-16
Download

Walking PDP-11
walking-pdp-11-frontwalking-pdp-11-back
Now you’re the elder legendary computer.
Revision: 0.5
Release/Last update: 2016-08-15
Download

Last update: 2016-08-15

Firefox のマウスホイールでのスクロール量を増やす

ブラウザだけスクロール量を増やしたい。IMWheel みたいなのもあるけど,めんどくさ大げさな気がする。そんな時に。

1, about:config を開く

2, “mousewheel.system” で絞り込み

3, “mousewheel.system_scroll_override_on_root_content.enabled” を false から true にする(Windows ではデフォルトで true らしい)

4, “mousewheel.system_scroll_override_on_root_content.vertical.factor” をデフォルトの 200 より大きい任意の値,たとえば400にする

5, 横スクロールも増やしたい場合は,”mousewheel.system_scroll_override_on_root_content.horizontal.factor” の値を同様に変更する。

調べてみると,なんだか似たようなオプションがいろいろある上スクロール量ではなく加速度を上げるというアプローチもあってややこしいけど,ともかく自分の場合は上の設定だけで期待した通りの挙動になった。
Chromium (Chrome) では,ブラウザ本体の設定ではできないらしく,たとえば「Chromium Wheel Smooth Scroller」などのアドオンを導入する必要があるらしい。

参照:
Gecko:Mouse Wheel Scrolling – MozillaWiki
Can anyone explain mousewheel.default.delta_multiplier? • mozillaZine Forums
xorg – How to change my mouse wheel scroll rate? – Ask Ubuntu
29.0.1 Mouse Wheel : firefox

Firefox の UI が極端に大きく(あるいは小さく)なったら

少し前,Debian で Iceweasel をアップデートしたら,設定が勝手に変わったのか解釈の仕様が変わったのかで Firefox の UI(HTML レンダリングだけでなく,ボタン類も)が極端に大きくなってしまった。が,検索したら一瞬で解決したので,忘れないうちにメモ。

My websites and UI have suddenly become huge. How can I get them back to a normal, smaller size? | Firefox Support Forum | Mozilla Support

about:config にアクセスし,layout.css.devPixelsPerPx の値を変更。自分の環境では -1.0 -> 1.0 に変更で完璧。
でも,改めて考えてみると他にも何かありそうだし,一度設定をリセットしたほうがいいかなあ。

WordPress に脚注機能を付けるアドオン Simple footnotes を導入

 以前,はてなダイアリー 1を利用していた頃に重宝していた機能のひとつに「脚注 2」があるのですが,Wordpress 3 4 には標準ではこの機能はなく,Wordpress への乗り換えに伴い使えなくなってしまいました。今 5にして思えばその時に脚注を追加するアドオン 6 7も探しておけばよかったのですが,当時 8少し 9忙しかった 10こともありそのまま 11にしてしまい,脚注を使わずにブログ 12記事を書くこと 13に慣れて 14しまいました。しかし今朝ちょっとした文書を書いていて,ブログで脚注を使うことの便利さ 15を思い出し,このアドオンの導入に至りました。今後はどんどん 16脚注を使っていきたいと思います 17

17/3/28追記:
たまに検索経由のアクセスがあるので。
Simple footnotes の利用には,脚注を付けたいところに内容を[ref]〜[/ref]で囲って記入します。
例,

誰でも練習すれば水上を歩けるようになる[ref]足が沈むより先に次の一歩を踏み出せるだけの身体能力がある場合。[/ref]。

Notes:

  1. http://d.hatena.ne.jp
  2. 英:footnote
  3. オープンソースの CMS 環境である。
  4. 「Worldpress」ではない。
  5. 2014年12月。
  6. 英:add on
  7. 今回は Simple footnote というものを導入したが,他にも同種のアドオンはいくつか存在するようである。いずれも WordPress の公式レポジトリから導入できる。
  8. 2013年8月。
  9. あまり多くはないという意味である。
  10. 「忙しい」の定義は人によって大きく異なるため,注意が必要である。
  11. つまり,そうしたアドオンを導入していない状態という事である。
  12. 「ウェブログ web log」の略である。
  13. ここでいう「書く」には,書いたものを公開することも含める。
  14. 心理的または肉体的に抵抗感がなくなることをいう。
  15. 補足的な情報を記述するために括弧を使うと,ただでさえ冗長な私の文章がさらに冗長になってしまう。脚注を使うことで,事態は多少改善する。
  16. 太鼓の音ではなく,勢いや程度が大きいことを示す擬態語である。
  17. ふう,書き終わった。