Linux あれこれ

Linux 関連の備忘録です。

LXLE Linux 18.04.3 にて、「featherpad」と「Geany」をビルド〈H124-2〉

登録日: 2021-06-11 更新日: 2021-06-11

前回、「LXLE Linux 18.04.3」をUSB メモリにインストール しました。

公式リポジトリに登録されている「featherpad」と「Geany」をapt でインストールしてみるとバージョンが低く、日本語化されていなかったり、不具合があったりしたので、ビルドしてインストールしました。その備忘録です。

-

-

使用したPC は「ASUS Chromebox CN60 」で、プロセッサは第4世代の「Intel Celeron 2955U 」で古めのPC です。BIOS 立ち上げでなく、UEFI 立ち上げにF/W を置換しています。

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック

-

-


目次

-

「LXLE Linux 18.04.3 のインストール」

「「featherpad」をビルドしてインストール:」

「「Geany」をビルドしてインストール:」

「参考: 「Geany」をカスタマイズして、ビルドしてインストール:」

「まとめ へ」

-

「目次詳細 へ」

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -

LXLE Linux 18.04.3 のデスクトップ画面:

→シンプルです。

-

現在のバージョンを表示:

2021-06-11 現在

カーネル:

$ uname -r
4.15.0-144-generic  ←(注目)

→実績のある安定版のカーネルです。

最新のアプリは最新の共有ライブラリを使って開発されるのが普通です。 共有ライブラリはカーネルのバージョンと密接に関係しており、アプリのビルド時の条件になります。

カーネルのバージョンが低いので共有ライブラリのバージョンが制限されて、ほとんどのアプリが最新バージョンではないと思われます。

-

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"  ←(注目)

→一番下の行は「LXLE Linux 18.04.3 64bit」でした。更新により「Ubuntu 18.04.5 LTS」に書き換えられました。

-

  • Ubuntu 18.04.5 LTS」はポイントリリースと呼ばれます。アップデートを累積したイメージなので、 そのイメージを使うことでインストール後のアップデートの手間を省けます。

  • Ubuntu 18.04 LTS は5年のサポートなので、それまではLXLE もセキュリティやシステム更新の恩恵を受けられそう。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --

-

LXLE について:

-

LXLE 公式:

The LXLE Desktop

-

-

  • 32ビットと 64ビットのOS バージョンが(今のところは)提供されています:

  • LTS ベースのディストリビューションの欠点の1つは、最新のアプリケーションが少ないことです。

  • 好みのアプリを入れるかは自由に選べます。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---

-

「LXLE Linux 18.04.3」のインストール

-

「前回の作業を参照:」

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----

-

「featherpad」をビルドしてインストール:

-

  • Lubuntu の標準のテキストエディタです。Qt5 アプリです。

  • 利点は、軽いこと、ファイル履歴で開けること、Markdown ファイルのハイライトが見やすいこと、開発が活発なこと、です。

  • 公式リポジトリだと、バージョンが低すぎて日本語化されていないので、ビルドしてインストールしました。

-

1). 公式サイト:

Github tsujan/FeatherPad

  • 0.9.3 以上で日本語化対応、翻訳はプルリクエストでしたが、バージョン 0.10.0 〜 頃からは翻訳パッケージが分離され、翻訳サイトを使ったコミュニティ参加型の翻訳になりました。最新版では再びファイル構成が変化しています。バージョンにより微妙にファイルの構造等が変更されています。

-

2). apt でインストールできるバージョンを確認:

$ apt list featherpad
:
featherpad/bionic 0.8-1 amd64

→バージョンが低すぎて、日本語化(国際化)に対応していません。 メニューとヘルプが日本語化されたのは0.9-3 からです。

-

手間ですがビルドしました。 カーネルが低いので、依存を考えソースのバージョンをできるだけ低くしました。

ソースのバージョン(付加された機能)により使われるライブラリも変わってきます。 せっかくなので、まず、最新でビルドできるか試してもいいかも。

-

3). 参考: apt でパッケージの詳細を表示:

  • apt コマンドで表示されるのは、公式リポジトリにある featherpad 0.8-1 の情報なので、依存関係は参考にはなっても、当てになりません。それ以上がたぶん必要です。
$ apt show featherpad

Package: featherpad
Version: 0.8-1
Priority: optional
Section: universe/editors
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> ←(メンテナ: Ubuntu)
Original-Maintainer: LXQt Packaging Team <pkg-lxqt-devel@lists.alioth.debian.org> ←(オリジナルメンテナ: LXQt)
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 1,364 kB
Depends: libc6 (>= 2.14), libgcc1 (>= 1:3.0), libqt5core5a (>= 5.9.0~beta), libqt5gui5 (>= 5.7.0), libqt5network5 (>= 5.0.2), libqt5printsupport5 (>= 5.0.2), libqt5svg5 (>= 5.6.0~beta), libqt5widgets5 (>= 5.7.0), libqt5x11extras5 (>= 5.6.0), libstdc++6 (>= 5.2), libx11-6     ←(依存パッケージ)
Recommends: qttranslations5-l10n     ←(推奨パッケージ)
Homepage: https://github.com/tsujan/featherpad   ←(実際の開発元: GitHub)=最新のソースはココ
Task: lubuntu-qt-core, lubuntu-qt-desktop    ←(Lubuntu の標準のテキストエディタなので…)
Supported: 9m
Download-Size: 361 kB
APT-Sources: http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
Description: Lightweight Qt5 plain-text editor
 FeatherPad is a lightweight Qt5 plain-text editor for Linux. It is independent
 of any desktop environment and comes with all features one would expect in a
 modern editor.

→依存パッケージ名が表示されています。手動でソースからビルドするときは依存パッケージの確認が必要です。

警告でパッケージ名でなく、インストールされた後の共有ファイル名が表示されたときは、パッケージ名を探すのがたいへんです。

-

例えば、依存パッケージをひとつだけ確認:

$ apt search libc6
:
libc6/bionic-updates,now 2.27-3ubuntu1.4 amd64 [インストール済み]
  GNU C ライブラリ: 共有ライブラリ

libc6-dev/bionic-updates,now 2.27-3ubuntu1.4 amd64 [インストール済み]
  GNU C ライブラリ: 開発用ライブラリとヘッダファイル

→インストールされているバージョンは2.14 以上が必要  =2.27 なのでOK

-

ちなみに、後で記述した、snap パッケージの場合は、依存込みでインストール(動的にマウント)される方式なので、依存に悩む必要はありません。(使われるランタイムのバージョンを気にする必要はあります。)

-

4). ビルドとインストール、翻訳の手順:

ソースに含まれる、INSTALL を参照:

-

5). 作業用に、~/Git/ フォルダ作成(任意)

$ cd
$ mkdir Git

-

6). git があるか確認:

$ git --version
bash: git: コマンドが見つかりません

$ sudo apt install git
:
以下の追加パッケージがインストールされます:
  git-man liberror-perl

$ git --version
git version 2.17.1

-

7). ビルドの依存関係をインストール:

Debian ベースにつき:

$ sudo apt update
$ sudo apt install g++ libx11-dev libxext-dev qtbase5-dev libqt5x11extras5-dev libqt5svg5-dev libqt5svg5-dev libhunspell-dev qttools5-dev-tools
:
以下のパッケージが新たにインストールされます:
  g++ g++-7 gcc gcc-7 libasan4 libatomic1 libcc1-0 libcilkrts5 libdrm-dev
  libegl1-mesa-dev libgcc-7-dev libgl1-mesa-dev libgles1 libgles2
  libgles2-mesa-dev libglu1-mesa-dev libglvnd-core-dev libglvnd-dev
  libhunspell-dev libitm1 liblsan0 libmpx2 libopengl0 libpthread-stubs0-dev
  libqt5concurrent5 libqt5designer5 libqt5designercomponents5 libqt5help5
  libqt5opengl5 libqt5opengl5-dev libqt5positioning5 libqt5printsupport5
  libqt5qml5 libqt5quick5 libqt5quickwidgets5 libqt5sensors5 libqt5sql5
  libqt5sql5-sqlite libqt5svg5-dev libqt5test5 libqt5webchannel5 libqt5webkit5
  libqt5x11extras5-dev libqt5xml5 libstdc++-7-dev libtsan0 libubsan0
  libwayland-bin libwayland-dev libx11-dev libx11-doc libx11-xcb-dev
  libxau-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev
  libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev
  libxcb-sync-dev libxcb-xfixes0-dev libxcb1-dev libxdamage-dev libxdmcp-dev
  libxext-dev libxfixes-dev libxshmfence-dev libxxf86vm-dev mesa-common-dev
  qt5-assistant qt5-qmake qt5-qmake-bin qtbase5-dev qtbase5-dev-tools
  qttools5-dev-tools x11proto-core-dev x11proto-damage-dev x11proto-dev
  x11proto-fixes-dev x11proto-xext-dev x11proto-xf86vidmode-dev
  xorg-sgml-doctools xtrans-dev

-

8). ソースをダウンロード:

$ cd ~/Git/
[~/Git]$ git clone https://github.com/tsujan/FeatherPad.git

[~/Git]$ cd ~/Git/FeatherPad/
[~/Git/FeatherPad]$ ls -a
.   .git            COPYING    INSTALL  README.md  featherpad  screenshots
..  CMakeLists.txt  ChangeLog  NEWS     cmake      fp.pro

→git コマンドを使う場合、管理ファイルの「.git 」が存在する位置かがポイントです。

git コマンドを使うときに重要なので、コマンドプロンプトにワーキングディレクトリ名も表記しています。 単にビルドに使うだけなので git clone に「https」のURL を使いましたが、プルリクエスト(ソースの改善や翻訳の提案)するつもりなら「GitHub CLI」を使う必要があります。セキュリティ面で「GitHub」も厳しくなりました。

-

9). ビルドのツールの準備:

-

make をインストール:
$ sudo apt install make
:
make はすでに最新バージョン (4.1-9.1ubuntu1) です。

$ make --version
GNU Make 4.1

-

cmake をインストール:
$ sudo apt install cmake
:
以下のパッケージが新たにインストールされます:
  cmake cmake-data librhash0 libuv1

$ cmake --version
cmake version 3.10.2

-

10). cmake を使ってビルドする場合

  • もし、ビルドに失敗したら、「~/Git/FeatherPad」にある「build」フォルダを削除して、cmake からやり直しできます。

→失敗するようなら、依存パッケージの不足かバージョンが合っていない等が考えられます。

-

11). Qt 5 のバージョンが低いので、FeatherPad のバージョンを下げてビルドしました:

  • 最新のFeatherPad (0.18.0) のビルドには、Qt5Core の「5.12.0」が必要です:
$ apt search Qt5Core
:
libqt5core5a/bionic-updates,bionic-security,now 5.9.5+dfsg-0ubuntu2.5 amd64 [インストール済み]
  Qt 5 core module

→現在は「5.9.5」なので低いです。

カーネルが低いうえに、Qt 5 のバージョンを上げると他の Qt アプリ(けっこう多いです)に影響しそうなので、 インストールするFeatherPad のバージョンを下げることにしました。

-

  • git clone したので、新旧のバージョンを含め、リポジトリまるごとパソコンにダウンロードされているはずです。 なので、改めてダウンロードしなくても、最新だけでなく、指定した古いバージョンも使えます。 これがバージョン管理の良さ。(ただしタグ管理されているかは管理者次第です)。

-

古めのバージョンでビルドします:
$ cd ~/Git/FeatherPad/
$ ls -a

-

[~/Git/FeatherPad]$ git status
ブランチ master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

→まずは、状態を確認。何も編集(修正)されていない最新の状態。

-

ブランチ一覧を表示:
[~/Git/FeatherPad]$ git branch
* master

-

ローカルに登録されているタグの一覧を表示:
[~/Git/FeatherPad]$ git tag
V0.10.0
V0.11.0
V0.11.1
V0.12.0
V0.12.1
V0.13.0
V0.13.1
V0.14.0
V0.14.1
V0.14.2
V0.15.0
V0.16.0
V0.17.0
V0.17.1
V0.17.2
V0.18.0
V0.5.8
V0.6
V0.6.1
V0.6.2
V0.6.3
V0.7
V0.8
:     ←「スペース」キーで続きを表示
V0.9.0
V0.9.1
V0.9.2
V0.9.3
V0.9.4
(END)     ←「q」キーで表示を終了

→less で確認するときと同じ操作です。スペースで改ページ、q で抜けます。

ソートの順がイマイチ(2番目の数字の頭に0 を付けて2桁表示にして欲しい)ですが、一覧にあるバージョン(0.5.8 〜 0.18.0)のソースが使えます。こちらの管理者はちゃんとタグで管理しています。 最新は「0.18.0」でした。

Debian 10.8 Xfce にて「FeatherPad 0.9.4」が日本語で表示されることを確認していますが、 「0.9.4」のソースには、cmake に必要なCMakeLists.txt が含まれていませんでした。 これだとそのままビルドできないので、含まれている「V0.10.0」でトライしました。LXLE のカーネルが低いので、低めのバージョンを選びました。依存が解決されやすくなります。

-

タグの情報を確認:
$ git show V0.10.0

tag V0.10.0
Tagger: Tsu Jan <tsujan2000@gmail.com>
Date:   Mon May 13 00:07:34 2019 +0430

Release 0.10.0

commit 2de1859f8692f20fb4330121b62102b8e3e190b1 (HEAD, tag: V0.10.0)
Author: Tsu Jan <tsujan2000@gmail.com>
Date:   Fri May 10 05:04:13 2019 +0430

:
q

→2019年5月10日金曜日 の更新(コミット)までです。どこで切るかは管理者しだい。

-

旧バージョンに切り替え:
$ git checkout V0.10.0

HEAD is now at 2de1859 Polished the Preferences dialog a little more

ステータスの確認:

$ git status
HEAD detached at V0.10.0
nothing to commit, working tree clean

-

ブランチの確認:

$ git branch
* (HEAD detached at V0.10.0)
  master

→アクセスできるところが変わりました。

-

12). cmake を実行:

$ cd ~/Git/FeatherPad/
$ ls
CMakeLists.txt  ChangeLog  NEWS       featherpad  screenshots
COPYING         INSTALL    README.md  fp.pro

→cmake の実行に必要な「CMakeLists.txt」があることを確認。

-

[~/Git/FeatherPad]$ mkdir build && cd build

→「build」フォルダを作成して、そこに出力して作業エリアを分離。

-

[~/Git/FeatherPad/build]$ cmake ..

-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubn/Git/FeatherPad/build

→こちらは使われるツール類がそろっているかのチェックです。エラーがないことを確認。 エラー表示されるなら依存パッケージが不足していたりします。

[~/Git/FeatherPad/build]$ ls
CMakeCache.txt  CMakeFiles  Makefile  cmake_install.cmake  featherpad

→新しく作られた「build」フォルダに、多くのファイルが作られました。「Makefile」があります。

-

13). make を実行:

[~/Git/FeatherPad/build]$ make

Scanning dependencies of target featherpad_autogen
[  3%] Automatic MOC, UIC and RCC for target featherpad
[  3%] Built target featherpad_autogen
Scanning dependencies of target featherpad
[  6%] Building CXX object featherpad/CMakeFiles/featherpad.dir/main.cpp.o
[  9%] Building CXX object featherpad/CMakeFiles/featherpad.dir/singleton.cpp.o
[ 12%] Building CXX object featherpad/CMakeFiles/featherpad.dir/fpwin.cpp.o
:
[ 96%] Linking CXX executable featherpad
[ 96%] Built target featherpad
Scanning dependencies of target fpad_symlink
[100%] Creating fpad as a symlink to featherpad
[100%] Built target fpad_symlink

確認:

[~/Git/FeatherPad/build]$ ls
CMakeCache.txt  CMakeFiles  Makefile  cmake_install.cmake  featherpad

[~/Git/FeatherPad/build]$ ls featherpad/
CMakeFiles  Makefile  cmake_install.cmake  featherpad  featherpad_autogen  fpad

→以前のバージョンだと、このディレクトリに「featherpad_ja.qm」が作成されました。最新では分離されて作られません。

-

14). インストール

[~/Git/FeatherPad/build]$ sudo make install

[sudo]  パスワード:
[  3%] Automatic MOC, UIC and RCC for target featherpad
[  3%] Built target featherpad_autogen
[ 96%] Built target featherpad
[100%] Creating fpad as a symlink to featherpad
[100%] Built target fpad_symlink
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/bin/featherpad
-- Installing: /usr/share/applications/featherpad.desktop
-- Installing: /usr/share/icons/hicolor/scalable/apps/featherpad.svg
-- Installing: /usr/share/featherpad/help
-- Installing: /usr/share/featherpad/help_ja_JP
-- Installing: /usr/bin/fpad

→インストールが完了しました。ファイルがどこに配置されたか表示されています。

  • 以前のバージョンだと、下記のように「featherpad_ja.qm」がシステムに配置されました:
-- Installing: /usr/share/featherpad/translations/featherpad_ja.qm

→最新?のバージョンだと配置されません。

$ ls /usr/share/featherpad/
help  help_ja_JP

→翻訳ファイルは別のパッケージに分離されているので、 featherpad アプリの日本語化には別のパッケージのインストールが必要です。 逆に、サイズを抑えたいときは、このままでいいということ。 ヘルプだけは日本語化されます。

-

15). 確認:

$ featherpad --version
FeatherPad 0.10.0

→翻訳ファイルがないのでメニューは英語のままになります。

変ですね。ヘルプ表示は日本語になるはずですが英語表示のままです。

-

ロケールの確認:

$ locale
LANG=ja_JP.UTF-8
LANGUAGE=ja        ←(注目)
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=

→「LANGUAGE=ja」が設定されています。これはダメです。 後で調査することにして、次に進みました。

$ whereis featherpad
featherpad: /usr/bin/featherpad /usr/share/featherpad

$ which featherpad
/usr/bin/featherpad

$ ls /usr/share/featherpad/
help  help_ja_JP

→ここに翻訳済みのヘルプファイルも置かれます。このバージョンでは日本語のヘルプファイルのみがあります。 バージョンが上がると「help_ja_JP」が「help_ja」にファイル名が変わります。

翻訳ファイルのパッケージのインストールでは、翻訳ファイル(.mo) が置かれている「translations」フォルダがごっそりと上書きされます。

アプリ本体と翻訳ファイルのバージョンを合わせるのがベターですが、違っていても一部の追加機能の翻訳がされないくらいで支障はありません。

-

16). 翻訳パッケージのインストール:

Ubuntu パッケージ検索 にて検索:

キーワード: featherpad-l10n
「パッケージ名のみ」にチェック
Distribution: すべて

↓ 「検索」ボタンをクリック:

featherpad-l10n パッケージ

-   focal (20.04LTS) (localization): Language package for featherpad [universe]
    0.12.1-1build1: all   ←(選択)

-   groovy (20.10) (localization): Language package for featherpad [universe]
    0.12.1-1build1: all

-   hirsute (localization): Language package for featherpad [universe] 
    0.17.1-1: all

  • パッケージのバージョンの選択:

focal (20.04LTS)

featherpad-l10n_0.12.1-1build1_all.deb のダウンロードページ

ミラーの [北アメリカ(mirrors.kernel.org/ubuntu)])(http://mirrors.kernel.org/ubuntu/pool/universe/f/featherpad/featherpad-l10n_0.12.1-1build1_all.deb) をクリック →ファイルを保存

→「featherpad-l10n_0.12.1-1build1_all.deb」がダウンロードされました。

フォルダを開き、ツール→「現在のフォルダを端末で開く」をクリック

$ ls
SourceHanCodeJP.ttc         seamonkey-2.53.7.1.ja.langpack.xpi
featherpad-l10n_0.12.1-1build1_all.deb

$ sudo gdebi featherpad-l10n_0.12.1-1build1_all.deb
:
Language package for featherpad
 FeatherPad is a lightweight Qt5 plain-text editor for Linux. It is independent
 of any desktop environment and comes with all features one would expect in a
 modern editor.
 .
 This package contains the l10n files needed by the featherpad.
ソフトウェアパッケージをインストールしますか? [y/N]: y
:
featherpad-l10n (0.12.1-1build1) を設定しています ...

→インストールにより、ドキュメント、および、下記のファイルがシステムに配置されます:

$ ls /usr/share/featherpad/help_ja_JP
$ ls /usr/share/featherpad/translations/featherpad_ja_JP.qm

-

17). 確認:

$ apt search featherpad | grep インストール済み
:
featherpad-l10n/now 0.12.1-1build1 all [インストール済み、ローカル]

→ダウンロードしてインストールした翻訳パッケージ「featherpad-l10n」は apt で管理されています。 「ローカル」と表示があることに注目。

-

ビルドした「featherpad」パッケージはapt では見えません(管理下にありません)が起動はできます:

$ whereis featherpad
featherpad: /usr/bin/featherpad /usr/share/featherpad

$ which featherpad
/usr/bin/featherpad

$ featherpad --version
FeatherPad 0.10.0

→featherpad「0.10.0」です。翻訳ファイルのfeatherpad-l10n は「0.12.1」です。 バージョンにずれがありますが、新しい機能の翻訳が余計にあるだけで、ほとんど支障はないはず。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -----

-

問題:「featherpad」が日本語化されません

  • メニューとヘルプ表示が英語のままです。

-

(1). ロケールの設定を確認:

$ locale
LANG=ja_JP.UTF-8
LANGUAGE=ja        ←(注目)
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=

→これはダメです。ロケールに「LANGUAGE=ja」が設定されているのが原因です。

-

(2). 言語を指定してアプリを起動して確認:

$ LANGUAGE="ja_JP.UTF-8" featherpad

→ featherpad が起動。メニューもヘルプも日本語になりました。これみたい。

-

(3). 「LANGUAGE=」に設定を変更:

本当は「LANGUAGE="ja_JP.UTF-8"」とすれば解決しますが、他のアプリへの影響が心配なので空にしました。

$ pluma ~/.bashrc

↓ 最後の行に追記:

# 言語の設定
export LANGUAGE=""

-

(4). 再起動

-

(5). 確認:

$ locale
LANG=ja_JP.UTF-8
LANGUAGE=        ←(注目)
LC_CTYPE="ja_JP.UTF-8"
:

→空になりました。

-

(6). アプリを起動して確認:

端末からの起動:

$ featherpad
$ LANGUAGE=ja_JP.UTF-8 featherpad

→日本語

-

$ LANGUAGE=ja featherpad
$ LANGUAGE="" featherpad

→英語

-

GUI からの起動:

- パネルのランチャーに登録した「featherpad」をクリック
- メニュー →アクセサリ →「featherpad」
- ファイルマネージャにてテキストファイルを右クリック→「アプリケーションで開く」→アクセサリ →「featherpad」

→英語

-

  • 端末にて、「LANGUAGE=ja_JP.UTF-8」の指定を付けてアプリを起動させると日本語表示されます。

  • 端末から起動すると日本語になり、GUI から起動すると英語のままです。

GUI でのロケールを指定する場所は違うところみたい。もしかしたらアプリ内の設定?

-

(7). localectl のステータスを確認:

$ localectl
   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: n/a
      X11 Layout: jp
       X11 Model: pc105

-

(8). デスクトップファイルを確認:

$ cat /usr/share/applications/featherpad.desktop
[Desktop Entry]
Name=FeatherPad
GenericName=Text Editor
GenericName[ja_JP]=テキストエディタ(Qt)  ←(注目)
:
Comment=Lightweight Qt5 text editor
Comment[ja_JP]=軽量 Qt5 テキストエディタ  ←(注目)
:
Exec=featherpad %F
Icon=featherpad
Terminal=false
Type=Application
MimeType=text/plain;
Categories=Qt;Utility;TextEditor;
X-KDE-StartupNotify=false;
Keywords=Text;Editor;Plaintext;
Actions=new-window;

[Desktop Action new-window]
Name=New Window
Name[de]=Neues Fenster
Exec=featherpad --win

→あんまり見ない設定。でも、メニューは日本語化されなくても、実行には関係なさそう。

-

(9). デスクトップファイルを修正:

$ sudo pluma /usr/share/applications/featherpad.desktop

日本語指定を変更:

GenericName[ja_JP]=テキストエディタ(Qt)
Comment[ja_JP]=軽量 Qt5 テキストエディタ

↓ 修正

GenericName[ja]=テキストエディタ(Qt)
Comment[ja]=軽量 Qt5 テキストエディタ

→メニューにマウスを置いたときのコメントが日本語化されただけです。

-

(10). どちらのロケールの指定でも使えるように、コピーして作成:

  • リンクでは日本語表示されませんでした。実体でないとダメみたい。

-

作業前:

$ cd /usr/share/featherpad/

$ ls -1
help
help_ja_JP
translations

$ ls translations/ | grep ja
featherpad_ja_JP.qm

コピーの実施:

$ cd /usr/share/featherpad/

$ sudo cp help_ja_JP help_ja
$ sudo cp ./translations/featherpad_ja_JP.qm ./translations/featherpad_ja.qm

$ ls -1
help
help_ja
help_ja_JP
translations

$ ls translations/ | grep ja
featherpad_ja.qm
featherpad_ja_JP.qm

-

(11). アプリの起動を色々変えて確認:

端末からの起動:

$ featherpad
$ LANGUAGE=ja_JP.UTF-8 featherpad
$ LANGUAGE=ja featherpad
$ LANGUAGE="" featherpad

GUI からの起動:

- パネルのランチャーに登録した「featherpad」
- メニュー →アクセサリ →「featherpad」
- ファイルマネージャにてテキストファイルを右クリック→「アプリケーションで開く」→アクセサリ →「featherpad」

→すべて日本語で表示されました。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -

-

「featherpad」を使いやすいように設定:

-

メニュー→アクセサリ→「featherpad」→featherpad を起動

-

(1). 見た目の変更:

メニューバー→オプション→「設定」→「テキスト」タブ

「常に行番号を表示」にチェック

「空白マークを表示」にチェック

「暗い色のスキームを使う」にチェック

→背景色の値: 50

-

(2). 日付と時刻の形式の変更:

日付と時刻の形式: yyyy-MM-dd hh:mm

→「閉じる」

一旦、アプリを閉じて、アプリを起動。

-

(3). フォントの変更:

メニューバー→オプション→「フォント」

フォント: 源ノ角ゴシック Code JP L

フォントスタイル: 標準

サイズ: 9 →通常のフォントなら「11」ですが、源ノ角は「10」や「9」と小さめが見やすいです。

→「OK」

-

(4). 「featherpad」を開いたときに編集していたファイルを開く設定:

メニューバー→オプション→「設定」→「ファイル」タブ

「最後のウィンドウのファイルから開始」にチェック

→ファイルの編集を終えたら、上書き保存して、タブを閉じずにウィンドウを閉じます。すると、次の起動のときに、すぐにそのファイルの編集を始められます。

Geany や Notepadqq にある便利な機能です。

-

(5). ヘルプを Ctrl+H で呼び出せる青色タブの「書き込み保護された備忘録」として使う:

ヘルプファイルは html でなく「テキストファイル」です。 管理者で編集すればユーザが備忘録などの参照目的で利用できます。 ただし、管理者だと日本語入力できないので、日本語のときは貼り付けて編集すること。

$ sudo pluma /usr/share/featherpad/help_ja_JP

もしくは、

$ sudo pluma /usr/share/featherpad/help_ja

↓ ファイルの先頭部分に、備忘録のデータを追記:

---
## 個人的な備忘録

1. 「Visual Studio Code」をGPU オフで起動:
$ code --disable-gpu
→起動すると表示がおかしくなるときに使えます。
「ハードウェアアクセレータを使わない」設定での起動です。

-

-

(6). ヘルプ表示してみると:

→通常のテキストファイルとは違い、色分けされています。また、この画面での編集はできません。

よく使う文字列の切り貼りとか、備忘録に使えます。また、Ctrl+H で簡単に呼び出せます。

-

(7). 履歴ファイルの更新ができなくなったとき:

  • 設定ファイルを削除すると復旧できます

設定ファイルの削除:

$ rm ~/.config/featherpad/fp.conf

featherpad を再起動

→エディタの設定はやり直し。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- --

-

「Geany」を公式リポジトリからインストール:

-

flatpak でインストールした最新の「Geany」が日本語入力できないので、公式リポジトリでのインストールを確認。

バージョンは低くても、日本語入力できることを期待。

-

1). インストールできるかの確認:

$ apt list geany
:
geany/bionic 1.32-2 amd64

→バージョンは「1.32-2」です。

-

2). インストール:

$ sudo apt install geany
:
以下のパッケージが新たにインストールされます:
  geany geany-common

確認:

$ geany --version
geany 1.32 (Jan  8 2018 以降に次を使用してビルドGTK 3.22.26, GLib 2.54.1)

-

3). geany の起動:

メニュー →プログラミング →「Geany」

→日本語入力できました。

変換候補の窓が特殊な効果になっていて面白いです。ちゃんと日本語入力できます。

-

4). 「geany」のテーマをダウンロード:

$ cd ~/Git/
$ git clone https://github.com/codebrainz/geany-themes

-

5). ダウンロードしたテーマを追加:

テーマ:

$ ls -1 ~/Git/geany-themes/colorschemes

テーマのサンプル:

$ ls -1 ~/Git/geany-themes/screenshots/

→テーマを適用した画像を確認できます。

-

表示→色の設定

標準→Alternate に変更

→閉じる

これで、「~/.config/geany/colorschemes」フォルダが作られました:

$ ls -1 ~/.config/geany/
colorschemes
filedefs
geany_socket_ubn-box__0
keybindings.conf
templates

-

ダウンロードしたテーマを 2つだけ追加する場合:
$ cd ~/Git/geany-themes/colorschemes/
$ cp monokai.conf ~/.config/geany/colorschemes/
$ cp sleepy-pastel.conf ~/.config/geany/colorschemes/

$ ls -1 ~/.config/geany/colorschemes/
monokai.conf
sleepy-pastel.conf

→気に入ったテーマだけコピーすると、テーマの変更が楽になります。

-

ダウンロードしたテーマをすべて追加する場合:
$ cp -r ~/Git/geany-themes/colorschemes ~/.config/geany/
$ ls -1 ~/.config/geany/colorschemes/

→たくさんのテーマ(.conf) が指定できるようになりました。

-

6). テーマをダーク系に変更:

表示 →「色の設定」…→「Monokai」(ダーク系の背景)

-

7). 暗いテーマにしたときに目立つ縦線を修正:

デフォルトの白い背景のテーマなら目立ちませんが、暗いテーマにすると目立ちすぎます。

編集 →設定 →左の「エディタ」タブ →上の「表示」タブ →長い行のマーカー

「有効」にチェック(「無効」にすれば、縦線は消えます)

-

形式: 線(領域としても指定可能)

列: 72

色: 薄緑色(ウグイス色)→色をクリックして、3列の黒の3番目(グレー)をクリック →選択 →OK

-

8). 問題: ハイライト表示にて不具合

Markdown にて、リンクがあったときのハイライトが解除されないときがあります。 テーマを変更したことで目立つようになりわかりました。それ以降、全ての色がリンクの色になるので致命的です。

標準のテーマでも発生していたようです。ただモノクロなので目立たなかっただけです。 バージョンが低いだけありました。

-

  • 「geany 1.32」ではテーマのハイライトが乱れます。テーマは使えません。

-

9). 情報を収集:

$ apt show geany
Package: geany
Version: 1.32-2
Priority: optional
Section: universe/devel
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Geany Packaging Team <pkg-geany-team@lists.alioth.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 3,088 kB
Provides: geany-abi-18176, geany-api-235

Depends: libatk1.0-0 (>= 1.12.4), libc6 (>= 2.15), libcairo2 (>= 1.8.0), libgcc1 (>= 1:3.0), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.41.1), libgtk-3-0 (>= 3.21.5), libpango-1.0-0 (>= 1.20.0), libpangocairo-1.0-0 (>= 1.14.0), libstdc++6 (>= 5.2), geany-common (= 1.32-2)
Suggests: libvte9, doc-base
Breaks: geany-plugins-common (<< 0.21)

Homepage: http://www.geany.org
Download-Size: 1,033 kB
:

-

10). geany の削除:

$ apt list geany* | grep インストール済み
:
geany/bionic,now 1.32-2 amd64 [インストール済み]
geany-common/bionic,bionic,now 1.32-2 all [インストール済み、自動]

$ sudo apt remove geany geany-common

→アプリは削除されますが、設定は残ります。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ---

-

「Geany」をビルドしてインストール:

-

1). ソースをダウンロード:

公式サイト:

Geany - The Flyweight IDE

「Download Geany 1.37.1 >>」 をクリック

geany-1.37.1.tar.gz

右クリック→「ここでファイルを展開」

$ ls -a ~/Downloads/geany-1.37.1/

.           README        ctags        intltool-update.in
..          README.I18N       data         m4
AUTHORS         README.Packagers  doc          plugins
COPYING         THANKS        geany.desktop.in     po
ChangeLog       TODO          geany.exe.manifest   scintilla
ChangeLog.pre-1-22  aclocal.m4        geany.nsi.in     scripts
HACKING         autogen.sh        geany.pc.in      src
INSTALL         build-aux         geany_private.rc     tests
Makefile.am     config.h.in       icons
Makefile.in     configure         intltool-extract.in
NEWS            configure.ac      intltool-merge.in

-

2). 「INSTALL」の内容を確認

依存するパッケージの詳細については書かれていません。

$ uname -r
4.15.0-143-generic

-

3). make の確認:

$ apt list make
:
make/bionic,now 4.1-9.1ubuntu1 amd64 [インストール済み]

-

4). 依存のインストールは、下記にてエラーがでなくなるまでトライ:

$ cd ~/Downloads/geany-1.37.1/
$ ./configure

-

(1). pkg-config をインストール:
$ apt search pkg-config
:
pkg-config/bionic 0.29.1-0ubuntu2 amd64
  ライブラリのコンパイルフラグとリンクフラグを管理

$ sudo apt install pkg-config
:
以下のパッケージが新たにインストールされます:
  pkg-config

-

(2). GTK+-3.0 をインストール:
$ sudo apt install libgtk-3-dev
:
以下のパッケージが新たにインストールされます:
  autoconf automake autopoint autotools-dev debhelper dh-autoreconf dh-strip-nondeterminism gir1.2-atspi-2.0 gir1.2-harfbuzz-0.0
  icu-devtools libarchive-cpio-perl libatk-bridge2.0-dev libatk1.0-dev libatspi2.0-dev libcairo-script-interpreter2 libcairo2-dev
  libdbus-1-dev libepoxy-dev libexpat1-dev libfile-stripnondeterminism-perl libfontconfig1-dev libfreetype6-dev libgdk-pixbuf2.0-dev
  libglib2.0-dev libglib2.0-dev-bin libgraphite2-dev libgtk-3-dev libharfbuzz-dev libharfbuzz-gobject0 libice-dev libicu-dev
  libicu-le-hb-dev libicu-le-hb0 libiculx60 libltdl-dev libmail-sendmail-perl libpango1.0-dev libpcre16-3 libpcre3-dev libpcre32-3
  libpcrecpp0v5 libpixman-1-dev libpng-dev libpng-tools libsm-dev libsys-hostname-long-perl libtool libxcb-shm0-dev
  libxcomposite-dev libxcursor-dev libxft-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxrender-dev libxtst-dev m4
  po-debconf wayland-protocols x11proto-composite-dev x11proto-input-dev x11proto-randr-dev x11proto-record-dev
  x11proto-xinerama-dev

-

(3). intltool をインストール:
$ sudo apt install intltool
:
以下のパッケージが新たにインストールされます:
  intltool

-

5). 「./configure」の実行

$ cd ~/Downloads/geany-1.37.1

$ ./configure
:
-----------------------------------------------
Install Geany in                   : /usr/local
Using GTK version                  : 3.22.30
Enable binary relocation           : no
Build with plugin support          : yes
Use (UNIX domain) socket support   : yes
Use virtual terminal support (VTE) : yes
Build HTML documentation           : no
Build PDF documentation            : no
Build API documentation            : no
Generate GtkDoc header             : no

Configuration is done OK.

→インストール先が「/usr/local」になっています。

-

6). 参考: 通常のアプリで使われるインストール先にしたい場合:

$ ./configure --prefix=/usr

-

7). 「make」の実行

$ make

make  all-recursive
make[1]: ディレクトリ '/home/ubn/Downloads/geany-1.37.1' に入ります
Making all in ctags
make[2]: ディレクトリ '/home/ubn/Downloads/geany-1.37.1/ctags' に入ります
  CC       main/args.lo
  CC       main/ctags-api.lo
  CC       main/debug.lo
:
make[2]: ディレクトリ '/home/ubn/Downloads/geany-1.37.1' から出ます
make[1]: ディレクトリ '/home/ubn/Downloads/geany-1.37.1' から出ます

-

8). 「make install」の実行

$ sudo make install
:
Making install in ctags
make[1]: ディレクトリ '/home/ubn/Downloads/geany-1.37.1/ctags' に入ります
make[2]: ディレクトリ '/home/ubn/Downloads/geany-1.37.1/ctags' に入ります
:
installing ja.gmo as /usr/local/share/locale/ja/LC_MESSAGES/geany.mo
:
 /bin/mkdir -p '/usr/local/share/doc/geany'
:
 /bin/mkdir -p '/usr/local/share/man/man1'
:
 /bin/mkdir -p '/usr/local/share/geany'
:
 /bin/mkdir -p '/usr/local/share/geany/colorschemes'
 /usr/bin/install -c -m 644  colorschemes/alt.conf '/usr/local/share/geany/colorschemes'
:
 /bin/mkdir -p '/usr/local/share/applications'
 /usr/bin/install -c -m 644 geany.desktop '/usr/local/share/applications'
 /bin/mkdir -p '/usr/local/lib/pkgconfig'
 /usr/bin/install -c -m 644 geany.pc '/usr/local/lib/pkgconfig'
make[2]: ディレクトリ '/home/ubn/Downloads/geany-1.37.1' から出ます
make[1]: ディレクトリ '/home/ubn/Downloads/geany-1.37.1' から出ます

-

9). インストールされたかの確認:

$ which geany
/usr/local/bin/geany

$ whereis geany
geany: /usr/local/bin/geany /usr/local/lib/geany

$ geany --version
bash: /usr/bin/geany: そのようなファイルやディレクトリはありません

$ /usr/local/bin/geany --version
geany 1.37.1 (Jun  3 2021 以降に次を使用してビルドGTK 3.22.30, GLib 2.56.4)

→メニューには登録されていません。

-

10). 再起動

$ geany --version
geany 1.37.1 (Jun  3 2021 以降に次を使用してビルドGTK 3.22.30, GLib 2.56.4)

$ /usr/local/bin/geany --version
geany 1.37.1 (Jun  3 2021 以降に次を使用してビルドGTK 3.22.30, GLib 2.56.4)

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

→PATH が通りました。

メニューにも登録されました。

-

11). メニューにて「Geany」を起動:

メニュー →プログラミング →「Geany」

→バージョンは「1.37.1」です。

  • 公式リポジトリからインストールしたときに行った設定が活きています。

→すぐにテーマが反映されました。テーマの不具合がありません。正常に表示されました。

-

  • 日本語入力が可能です。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

-

参考: ちょっとだけ「Geany」をカスタマイズして、ビルドしてインストール:

-

ソースからビルドするので、ついでにソースをいじってみました。これがビルドの利点。ただし、個人的使用に留めるべきこと。

日時の挿入ができるけど面倒なので、メニューに直接、個人的によく使う日付の書式を組み込みました。(ひとつの例)

→個人的な好みの設定なので、プルリクエストは拒否られますし、サポートも受け付けてもらえません。自己責任。

-

1). ダウンロードしたソースにて、メニューに表示の「dd.mm.yyyy」を検索:

$ pluma ~/Downloads/geany-1.37.1/po/ja.po

-

2). ソースの行番号を確認:

#: ../src/ui_utils.c:714 ../src/ui_utils.c:792
msgid "dd.mm.yyyy"
msgstr "dd.mm.yyyy"

→ソース行はコメントとして記されており、省略されたり、ソースの修正で行番号が違っていたりします。残っていれば手がかりになります。

-

3). ソースの修正(メニューの日付書式を入れ替え):

$ pluma ~/Downloads/geany-1.37.1/src/ui_utils.c

-

714 行目にジャンプ:

先頭を好みの書式に変更:

 if (utils_str_equal(_("dd.mm.yyyy"), date_style))
        format = "%d.%m.%Y";

↓ 修正:

 if (utils_str_equal(_("yyyy-mm-dd hh:mm"), date_style))
        format = "%Y-%m-%d %H:%M";

-

792 行目にジャンプ:
 insert_date_items(menu_edit, menu_popup, _("dd.mm.yyyy"));

↓ 修正:

 insert_date_items(menu_edit, menu_popup, _("yyyy-mm-dd hh:mm"));

本当なら、ja.po ファイル(およびその翻訳元のファイル .po または .pot)も修正すべき?ですが、個人的な使用だし、影響がないので省略。

-

4). ビルドしてインストール:

上記の「Geany」をビルドしてインストールを行って、ビルドの環境ができているとして、その続き、 項番5). 「./configure」の実行 から行います:

$ cd ~/Downloads/geany-1.37.1

$ ./configure
$ make
$ sudo make install

-

5). メニューにて「Geany」を起動:

メニュー →プログラミング →「Geany」

編集→日付を挿入→「yyyy-mm-dd hh:mm」

2021-06-09 20:54

→日付の挿入が楽になりました。

-

-


まとめ

LXLE Linux には軽さ優先のアプリが入っていますが、それらにとらわれず、自分にとって使いやすいアプリをインストールすれば良いと思います。アプリを入手しやすいのがUbuntu ベースの利点です。

自分の欲しいアプリを入手するとき、リポジトリを登録してのインストールや、ソースからビルドするやり方もあります。apt でインストールできるアプリのバージョンが低いときは、ソースを入手してビルドにトライしてみるのもひとつのやり方です。

-

ビルドしてのインストールをやってみることで、次回以降に紹介する「ユニバーサルパッケージ」と呼ばれる、依存関係に左右されない方式の良いところだけでなく、悪いところも見えてくると思います。

-

-

-


-

-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-