Linux あれこれ

Linux 関連(一部 Windows11 )の備忘録です。

「Rocky Linux」にて「Geany」をビルドしてインストール〈H152-3〉

登録日: 2022-06-05 更新日: 2022-06-11

RHEL クローンで、 最新の「Rocky Linux 8.6」をVirtualBox にインストールして、「Xfce」デスクトップ環境を追加 しました。

-

今回は、前回 の続きで、「Geany」をビルドしてインストールしてみました。
その備忘録です。

-

前回の投稿サイズが大きくなったので、別の投稿としました。

-

-

使用したPC は「ASUS Chromebox CN60 」で、プロセッサは第4世代の「Intel Celeron 2955U 」です。

UEFI 立ち上げ」のPC です。

-

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

-

-


目次

-

前回の作業:

「Rocky Linux 8.6」にアプリをインストール〈H152-2〉

-

操作の参考:

1. 「rpm」コマンドの使い方:

2. 「dpkg」コマンドの使い方:

-

フォント のインストール:

1. 「MiguMix」フォントをインストール:

2. 「源ノ角ゴシック Code JP」(Source Han Code JP) をインストール:

-

アプリ のインストール:

-

1. 「Geany」のインストール:

2. 「Geany」をビルドする準備:

  A). ビルドしてインストールするだけの場合:

  B). メニューの「日付を挿入」項目の修正を行う場合:

  C). 「日付を挿入」メニューの修正と、カスタマイズ「日時」の追加を行う場合:

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

-

「まとめ へ」

-

「目次詳細 へ」

-

-

ちなみに、今回の作業で使ったはエディタは、標準の「mousepad」は不具合があるので使わず、空白やTab が見やすい「featherpad」を使いました。ただし、「gedit」や「geany」がインストールは楽です。

「gedit」のインストールは「こちら
「featherpad」のインストールは「こちら

-

-


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

「Rocky Linux 8.6」のXfce デスクトップ

-

Xfce デスクトップの画面:

→壁紙はデフォルトの単色のままです。シンプルです。

画面を広く使えるように、ドックパネルは右に移動しました。
現在は、オフィスのサイドバーのアイコンと重ならないように、ドックパネルはもう少し下の位置です。

-

ビルドしてインストールした「Geany」の画面:

→「日付を挿入」メニューの項目を微妙に修正しました。

実際に「日時の設定」と「日時の挿入」をしてみないとわからない、小さな修正ですが、
個人的には使い勝手が向上しました。(画面左下にその日時を挿入しています)

-

-


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

「Rocky Linux」について:

-

公式サイト:

https://rockylinux.org/

-

追記:

Fedora 34 を反映した CentOS Stream を経て、2022-05-18 に、RHEL9 (Red Hat Enterprise Linux) がリリースされました。3年のリリース期間で出せたのは、CentOS Stream の貢献が大きいみたい。

そのクローンである、Rocky Linux 9.0 のリリースは、2022年6月から7月以降の予定。
新しいビルドシステム「Peridot」の採用で迅速にリリースできそう。

-


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

2022-06-04 現在

カーネル:

$ uname -r
4.18.0-372.9.1.el8.x86_64

→サーバー利用が前提なので、カーネルは通常の Linux ディストリビューションよりも遅れています。

それに伴い、共有ライブラリも古いはずなので、最新のアプリは期待できません。安定性が命です。

-

リリース:

$ cat /etc/rocky-release
Rocky Linux release 8.6 (Green Obsidian)

-


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

ホストOS : Xubuntu 20.04.4 LTS

-

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

2022-06-04 現在

カーネル:

$ uname -r
5.13.0-44-generic

-

リリース:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.4 LTS"

→ひとつ前のリリースを使う、安定志向のポイントリリース版(延命版)です。 ポイントリリースの番号がひとつアップ (20.04.4) しました。

-

-


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

1. 「Geany」のインストール:

-

-

1). インストール:

$ sudo dnf install geany
:
インストール:
 geany                  x86_64      1.36-3.el8        epel       2.6 M
依存関係のインストール:
 geany-libgeany         x86_64      1.36-3.el8        epel       1.2 M

→「epel」リポジトリに置かれているアプリです。

「geany-libgeany」は依存で入りました。

-

参考:「epel」リポジトリの追加:

こちら 」を参照:

「epel」リポジトリには、Fedora の成果物の中から一部のパッケージが「RHEL」用として反映されています。

-

2). テーマもインストール:

$ sudo dnf install geany-themes
:
インストール:
 geany-themes          noarch      1.27-8.el8         epel        28 k

→ビルドせずに、通常の(/usr への)インストールなら、テーマの組み込み作業は要りません。

-

3). インストールの確認:

$ dnf list --installed geany*
:
インストール済みパッケージ
geany.x86_64                              1.36-3.el8           @epel
geany-libgeany.x86_64                     1.36-3.el8           @epel
geany-themes.noarch                       1.27-8.el8           @epel

-

4). バージョンの確認:

$ geany --version
geany 1.36 (Apr  8 2020 以降に次を使用してビルドGTK 3.22.30, GLib 2.56.4)

-

5). アプリの起動:

アプリケーション →開発 →「Geany」

-

6). 余計なウィンドウを消します:

IDE なので、テキストエディタとして使うには、余計なウィンドウが 2つ表示されています。

  • 表示 →「メッセージウィンドウを表示」のチェックを外します
  • 表示 →「サイドバーを表示」のチェックを外します

-

7). テーマを変更:

  • 表示 →色の設定 →「Oblivion 2」

→「閉じる」

-

8). 縦線を目立たない色に設定:

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

  • 色: 濃い灰色(黒よりも1段明るい色)

→「選択」

→「適用」

→「OK」

-

設定後の画面:

→テーマをダーク系にすると、72文字目の「うぐいす色」の縦線が目立つので、目立たない「濃い灰色」(黒よりも1段明るい色)に変更しました。

-

9). インストールされたテーマ:

$ ls -1 /usr/share/geany/colorschemes/
:
alt.conf
bespin.conf
black.conf
darcula.conf
dark-colors.conf
dark-fruit-salad.conf
dark.conf
fluffy.conf
gedit.conf
github.conf
himbeere.conf
inkpot.conf
kugel.conf
mc.conf
metallic-bottle.conf
monokai.conf
notepad-plus-plus.conf
oblivion2.conf
pygments.conf
railcasts2.conf
retro.conf
sleepy-pastel.conf
slushpoppies.conf
solarized-dark.conf
solarized-light.conf
spyder-dark.conf
steampunk.conf
tango-dark.conf
tango-light.conf
tinge.conf
ubuntu.conf
vibrant-ink.conf
zenburn.conf

-

10). ホームに登録されているテーマ:

$ ls ~/.config/geany/colorschemes/
$

→ホームに登録されているテーマはありません。空です。

個人的に追加したいテーマがあるときは、こちらにコピーすると、
システム (/usr/share/geany/colorschemes/) にあるテーマと合算されて、選択メニューに表示されます。

-

11). テーマの変更:

geany を起動

表示 →色の設定

Markdown ファイル等を開いておいて、テーマを選ぶと、リアルタイムに反映されます。

-

12). よく使うテーマの頭に、アンダーバー「_」を付けると、メニューが選びやすくなります:

-

テーマをいじるときは、ホームにコピーするのが無難です:
$ cd /usr/share/geany/colorschemes/

$ cp oblivion2.conf ~/.config/geany/colorschemes/__oblivion2.conf
$ cp darcula.conf ~/.config/geany/colorschemes/_darcula.conf

→ついでに、選択メニューの並び順を変えるためにファイル名を変更しました。

-

$ ls -1 ~/.config/geany/colorschemes/
:
__oblivion2.conf
_darcula.conf

→「_」の数を増やすと、並びを変えられます。

-

確認:

表示 →色の設定

→ファイル名を変更した、2つのテーマが選択メニューの先頭に表示されました。

アルファベット順でなく、「oblivion2」が先頭に来ているのに注目。

-

ちなみに、選択メニューには、「oblivion2」と「darcula」の項目が2つずつあります。

頭にあるのが追加した分で、後ろにあるのが今までの分です。
つまり、システムとホームのテーマが合算されて選択メニューに表示されています。

-

-


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

2. 「Geany」をビルドする準備:

-

今回、「Geany」をビルドするのは、最新のバージョンを入手するためでなく、個人的にアプリを使いやすくするためです。

ビルドすると、こういうこともできます。自己責任です。

-

参考:

「Fedora 36 Xfce」にて「Geany」をビルドしてインストール〈H151-2〉

-

1). 公式サイト:

Geany - The Flyweight IDE

-

2). 「Geany」のソースをダウンロード:

geany-1.38.tar.gz:

$ mkdir -p ~/ダウンロード/geany
$ cd ~/ダウンロード/geany/

$ curl -OL https://download.geany.org/geany-1.38.tar.gz

-

3). ダウンロードされたか確認:

$ ls ~/ダウンロード/geany/
geany-1.38.tar.gz

-

4). チェックサムの確認:

$ sha256sum geany-1.38.tar.gz
e91e903924b993b79ef88f33708372dc7c79aee78e15a02e728338695e9dc155  geany-1.38.tar.gz

→表示された値が同じことを確認。

-

5). ソースファイルの展開:

$ cd ~/ダウンロード/geany/
$ tar -zxvf geany-1.38.tar.gz

-

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

-

-

6). 目的に合わせて、3つの中から選択します:

-


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

A). 何もいじらず、ビルドしてインストールするだけの場合:

-

こちらの目的は、ビルドの勉強、または、最新のバージョン(本体側のみ)へのアップグレードや、不具合が改修されている場合の適用になります。

-

→「項番 3. 」に進みます。

-

-


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

B). メニューの「日付を挿入」項目の修正を行う場合:

-

  • メニューの「日付を挿入」の「設定」と「挿入」の項目を区別しやすい項目名に修正しました。自己責任です。

  • 「Geany」がインストールされていることが前提です。

  • ビルドせずに、翻訳ファイルを入替えます。実施しなくてもOK。

-


1). patch コマンドのインストール:

$ sudo dnf install patch
:
パッケージ patch-2.7.6-11.el8.x86_64 は既にインストールされています。

-


2). 「msgfmt」が使えるように「gettext」をインストール:

-

インストール:
$ sudo dnf install gettext
:
パッケージ gettext-0.19.8.1-17.el8.x86_64 は既にインストールされています。

-

「msgfmt」が使えるかの確認:
$ msgfmt --help
Usage: msgfmt [OPTION] filename.po ...

Generate binary message catalog from textual translation description.
:

-


3). パッチファイルの作成:

$ cd ~/ダウンロード/geany/geany-1.38/
$ featherpad geany.patch

↓ ファイルの終わりの 2つの空行も含め、すべて貼り付けてください:

diff -Naur a/po/ja.po b/po/ja.po
--- a/po/ja.po  2021-10-10 00:11:18.000000000 +0900
+++ b/po/ja.po  2022-05-21 05:37:12.133547336 +0900
@@ -5389,18 +5389,18 @@
 
 #: ../src/ui_utils.c:725 ../src/ui_utils.c:813
 msgid "_Use Custom Date Format"
-msgstr "任意の日付書式を使用する(_U)"
+msgstr "個人的な日付書式で日時を挿入(_U)"
 
 #: ../src/ui_utils.c:729
 msgid "Custom Date Format"
-msgstr "任意の日付書式"
+msgstr "個人的な日付書式"
 
 #: ../src/ui_utils.c:730
 msgid ""
 "Enter here a custom date and time format. You can use any conversion "
 "specifiers which can be used with the ANSI C strftime function."
 msgstr ""
-"ここに任意の日付と時刻の書式を入力してください。ANSI C の strftime 関数で用い"
+"ここに個人的な日付と時刻の書式を入力してください。ANSI C の strftime 関数で用い"
 "られる変換指定子が使用できます。"
 
 #: ../src/ui_utils.c:751
@@ -5409,7 +5409,7 @@
 
 #: ../src/ui_utils.c:826
 msgid "_Set Custom Date Format"
-msgstr "任意の日付書式を設定(_S)"
+msgstr "個人的な日付書式を設定(_S)"
 
 #: ../src/ui_utils.c:2015
 msgid "Select Folder"

→ファイルの終わりの 2つの空行も含め、すべて貼り付けてください。

-


4). パッチファイルの適用:

$ cd ~/ダウンロード/geany/geany-1.38/
$ patch -p1 < geany.patch
:
patching file po/ja.po

→パッチの適用で、エラーが表示されないことを確認。

-


5). 翻訳ファイルを「.mo ファイル」にコンパイル:

$ cd ~/ダウンロード/geany/geany-1.38/po/
$ msgfmt ja.po -o ja.mo

→出力ファイル名を指定しないと「messages.mo」になります。

-


6). 翻訳ファイルを配置:

$ cd ~/ダウンロード/geany/geany-1.38/po/
$ sudo cp ja.mo /usr/share/locale/ja/LC_MESSAGES/geany.mo

-


7). 起動して確認:

アプリケーション →開発 →「Geany」

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

-

日本語入力が可能でした:

-

メニューの項目が変更されました:

変更前:

-

変更後:

→微妙に「言い回し」を変えました。ちょっとしたことですが、こちらの方がわかりやすいかな。

このメニューにて、左下に日時の挿入を行っています。

ちなみに、テーマは変えてますが気にしないでください。

-


8). 完了:

-

-


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

C). 「日付を挿入」メニューの修正と、カスタマイズ「日時」の追加を行う場合:

-

日時の挿入が使いづらく感じたので、「Geany」のプログラムを修正しました。自己責任です。

-

  • メニューの「日付を挿入」の「設定」と「挿入」の項目を区別しやすい項目名に修正。

  • メニューの「日付を挿入」の項目を、個人でよく使う「yyyy-mm-dd hh:mm」の項目に入替え。

  • デフォルトの日時の書式を上記に合わせて変更。

-

  • 「Geany」がインストールされていることが前提で、ビルドを行います。

→なぜなら、「Geany」のビルドは、1つのソースのビルドだけでは足りないからです。
合わせて、「geany-plugin」のソースのビルドも必要です。

今回は、一部の機能を修正するためにビルドを行いました。

-


1). patch コマンドのインストール:

$ sudo dnf install patch
:
パッケージ patch-2.7.6-11.el8.x86_64 は既にインストールされています。

-


2). パッチファイルの作成 1:

$ cd ~/ダウンロード/geany/geany-1.38/

-

$ featherpad geany.patch1

↓ 区切りを無視して、連続してファイルの終わりの 2つの空行も含め、すべて貼り付けてください:

diff -Naur a/po/ja.po b/po/ja.po
--- a/po/ja.po  2021-10-10 00:11:18.000000000 +0900
+++ b/po/ja.po  2022-05-21 05:37:12.133547336 +0900
@@ -5389,18 +5389,18 @@
 
 #: ../src/ui_utils.c:725 ../src/ui_utils.c:813
 msgid "_Use Custom Date Format"
-msgstr "任意の日付書式を使用する(_U)"
+msgstr "個人的な日付書式で日時を挿入(_U)"
 
 #: ../src/ui_utils.c:729
 msgid "Custom Date Format"
-msgstr "任意の日付書式"
+msgstr "個人的な日付書式"
 
 #: ../src/ui_utils.c:730
 msgid ""
 "Enter here a custom date and time format. You can use any conversion "
 "specifiers which can be used with the ANSI C strftime function."
 msgstr ""
-"ここに任意の日付と時刻の書式を入力してください。ANSI C の strftime 関数で用い"
+"ここに個人的な日付と時刻の書式を入力してください。ANSI C の strftime 関数で用い"
 "られる変換指定子が使用できます。"
 
 #: ../src/ui_utils.c:751
@@ -5409,7 +5409,7 @@
 
 #: ../src/ui_utils.c:826
 msgid "_Set Custom Date Format"
-msgstr "任意の日付書式を設定(_S)"
+msgstr "個人的な日付書式を設定(_S)"
 
 #: ../src/ui_utils.c:2015
 msgid "Select Folder"


diff -Naur a/src/templates.h b/src/templates.h
--- a/src/templates.h   2021-10-10 00:02:15.000000000 +0900
+++ b/src/templates.h   2022-06-04 02:12:39.944155097 +0900
@@ -59,7 +59,7 @@
 #define GEANY_TEMPLATES_INDENT 3
 #define GEANY_TEMPLATES_FORMAT_YEAR              C_("DefaultYear", "%Y")
 #define GEANY_TEMPLATES_FORMAT_DATE              C_("DefaultDate", "%Y-%m-%d")
-#define GEANY_TEMPLATES_FORMAT_DATETIME          C_("DefaultDateTime", "%d.%m.%Y %H:%M:%S %Z")
+#define GEANY_TEMPLATES_FORMAT_DATETIME          C_("DefaultDateTime", "%Y-%m-%d %H:%M")
 
 enum
 {

→ファイルの終わりの 2つの空行も含め、すべて貼り付けてください。

-


3). パッチファイルの作成 2:

$ featherpad geany.patch2.sh

↓ ファイルの終わりの 2つの空行も含め、すべて貼り付けてください:

echo ""
echo -e "diff -Naur a/src/ui_utils.c b/src/ui_utils.c"
echo -e "--- a/src/ui_utils.c\\t2021-10-10 00:02:15.000000000 +0900"
echo -e "+++ b/src/ui_utils.c\\t2022-06-04 19:21:48.241768619 +0900"
echo -e "@@ -710,8 +710,8 @@"
echo -e " \\t\\tui_prefs.custom_date_format = g_strdup(\"%d.%m.%Y\");"
echo -e " \\t}"
echo -e " "
echo -e "-\\tif (utils_str_equal(_(\"dd.mm.yyyy\"), date_style))"
echo -e "-\\t\\tformat = \"%d.%m.%Y\";"
echo -e "+\\tif (utils_str_equal(_(\"yyyy-mm-dd hh:mm\"), date_style))"
echo -e "+\\t\\tformat = \"%Y-%m-%d %H:%M\";"
echo -e " \\telse if (utils_str_equal(_(\"mm.dd.yyyy\"), date_style))"
echo -e " \\t\\tformat = \"%m.%d.%Y\";"
echo -e " \\telse if (utils_str_equal(_(\"yyyy/mm/dd\"), date_style))"
echo -e "@@ -788,7 +788,7 @@"
echo -e " \\tGtkWidget *item;"
echo -e " \\tgchar *str;"
echo -e " "
echo -e "-\\tinsert_date_items(menu_edit, menu_popup, _(\"dd.mm.yyyy\"));"
echo -e "+\\tinsert_date_items(menu_edit, menu_popup, _(\"yyyy-mm-dd hh:mm\"));"
echo -e " \\tinsert_date_items(menu_edit, menu_popup, _(\"mm.dd.yyyy\"));"
echo -e " \\tinsert_date_items(menu_edit, menu_popup, _(\"yyyy/mm/dd\"));"
echo -e " "
echo ""

→ファイルの終わりの 2つの空行も含め、すべて貼り付けてください。

-


4). パッチファイルの作成 3:

$ featherpad geany.patch3.sh

↓ ファイルの終わりの 2つの空行も含め、すべて貼り付けてください:

echo ""
echo -e "diff -Naur a/src/ui_utils.c b/src/ui_utils.c"
echo -e "--- a/src/ui_utils.c\\t2021-10-10 00:02:15.000000000 +0900"
echo -e "+++ b/src/ui_utils.c\\t2022-06-04 19:21:48.241768619 +0900"
echo -e "@@ -707,7 +707,7 @@"
echo -e " \\tif (utils_str_equal(\"\", ui_prefs.custom_date_format))"
echo -e " \\t{"
echo -e " \\t\\tg_free(ui_prefs.custom_date_format);"
echo -e "-\\t\\tui_prefs.custom_date_format = g_strdup(\"%d.%m.%Y\");"
echo -e "+\\t\\tui_prefs.custom_date_format = g_strdup(\"%Y-%m-%d %H:%M\");"
echo -e " \\t}"
echo -e " "
echo -e " \\tif (utils_str_equal(_(\"yyyy-mm-dd hh:mm\"), date_style))"
echo ""

→ファイルの終わりの 2つの空行も含め、すべて貼り付けてください。

-

  • ブラウザ上で貼付けを行うと、「Tab」が「スペース」に変換されるときがあります。

→パッチの実行時のチェックでエラーしないように、パッチを作成したときと同じ状態にするために、
「Tab」を「文字化」しました。

-


5). パッチファイルの作成:

$ cd ~/ダウンロード/geany/geany-1.38/
$ bash geany.patch2.sh > geany.patch2
$ bash geany.patch3.sh > geany.patch3

→ファイルをまとめると失敗するので、時系列で分けました。

-

確認:

$ cat geany.patch2
$ cat geany.patch3

→ソースファイルにあった「Tab」が「スペース」に変換されていないはずです。

-


6). パッチファイルの適用:

$ cd ~/ダウンロード/geany/geany-1.38/
$ patch -p1 < geany.patch1
:
patching file po/ja.po
patching file src/templates.h

-

$ patch -p1 < geany.patch2
:
patching file src/ui_utils.c

-

$ patch -p1 < geany.patch3
:
patching file src/ui_utils.c

→パッチの適用で、エラーが表示されないことを確認。

3つのファイルを修正しました。

-

もし、失敗するようなら、「項番 5).」ソースファイルの展開から実施してください。

-


7). ホームにある設定ファイルを削除:

設定ファイルを変更する修正を行ったので、反映させるには、「geany.conf」ファイルの上書きが必要ですが、すでに「geany.conf」ファイルが存在する場合は、上書きされないようです。

-

なので、ビルド前に設定ファイルを削除しておきます:

$ rm -r ~/.config/geany

ビルド後に、再起動して、アプリを起動、設定を開くことで、ホームに新しい設定ファイル「~/.config/geany」が作られます。

-

ビルド後に、設定ファイルが初期化されていたかは、サイドバー等の表示が戻っているのでわかります:

-

→「項番 3. 」に進みます。

-

-


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

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

-


1). ツールのインストール:

$ sudo dnf install pkgconf make intltool
:
パッケージ pkgconf-1.4.2-1.el8.x86_64 は既にインストールされています。
パッケージ make-1:4.2.1-11.el8.x86_64 は既にインストールされています。
:
インストール:
 intltool                noarch     0.51.0-11.el8     appstream      65 k
依存関係のインストール:
 autoconf                noarch     2.69-29.el8       appstream     709 k
 automake                noarch     1.16.1-7.el8      appstream     712 k
 gettext-common-devel    noarch     0.19.8.1-17.el8   baseos        418 k
 gettext-devel           x86_64     0.19.8.1-17.el8   baseos        330 k
 m4                      x86_64     1.4.18-7.el8      baseos        221 k
 perl-Thread-Queue       noarch     3.13-1.el8        appstream      23 k
 perl-XML-Parser         x86_64     2.44-11.el8       appstream     225 k

-


2). 依存パッケージのインストール

$ sudo dnf install gtk3-devel
:
インストール:
 gtk3-devel                x86_64    3.22.30-10.el8    appstream    4.4 M
依存関係のインストール:
 at-spi2-atk-devel         x86_64    2.26.2-1.el8      appstream     18 k
 at-spi2-core-devel        x86_64    2.28.0-1.el8      appstream    141 k
 atk-devel                 x86_64    2.28.1-1.el8      appstream    191 k
 bzip2-devel               x86_64    1.0.6-26.el8      baseos       223 k
 cairo-devel               x86_64    1.15.12-6.el8     appstream    272 k
 cairo-gobject-devel       x86_64    1.15.12-6.el8     appstream     25 k
 dbus-devel                x86_64    1:1.12.8-18.el8   appstream     67 k
 expat-devel               x86_64    2.2.5-8.el8       baseos        56 k
 fontconfig-devel          x86_64    2.13.1-4.el8      baseos       150 k
 freetype-devel            x86_64    2.9.1-4.el8_3.1   baseos       463 k
 fribidi-devel             x86_64    1.0.4-8.el8       appstream     62 k
 gdk-pixbuf2-devel         x86_64    2.36.12-5.el8     appstream    221 k
 glib2-devel               x86_64    2.56.4-158.el8    baseos       423 k
 graphite2-devel           x86_64    1.3.10-10.el8     appstream     44 k
 harfbuzz-devel            x86_64    1.7.5-3.el8       appstream    180 k
 libXcomposite-devel       x86_64    0.4.4-14.el8      appstream     21 k
 libXcursor-devel          x86_64    1.1.15-3.el8      appstream     28 k
 libXdamage-devel          x86_64    1.1.4-14.el8      appstream     14 k
 libXfixes-devel           x86_64    5.0.3-7.el8       appstream     18 k
 libXft-devel              x86_64    2.3.3-1.el8       appstream     24 k
 libXi-devel               x86_64    1.7.10-1.el8      appstream    110 k
 libXinerama-devel         x86_64    1.1.4-1.el8       appstream     13 k
 libXrandr-devel           x86_64    1.5.2-1.el8       appstream     26 k
 libXrender-devel          x86_64    0.9.10-7.el8      appstream     21 k
 libepoxy-devel            x86_64    1.5.8-1.el8       appstream    145 k
 libicu-devel              x86_64    60.3-2.el8_1      baseos       921 k
 libpng-devel              x86_64    2:1.6.34-5.el8    baseos       326 k
 libuuid-devel             x86_64    2.32.1-35.el8     baseos        97 k
 libxkbcommon-devel        x86_64    0.9.1-1.el8       appstream     59 k
 pango-devel               x86_64    1.42.4-8.el8      appstream    321 k
 pcre-cpp                  x86_64    8.42-6.el8        baseos        46 k
 pcre-devel                x86_64    8.42-6.el8        baseos       550 k
 pcre-utf16                x86_64    8.42-6.el8        baseos       194 k
 pcre-utf32                x86_64    8.42-6.el8        baseos       185 k
 pixman-devel              x86_64    0.38.4-2.el8      appstream     19 k
 wayland-devel             x86_64    1.19.0-1.el8      appstream    147 k
 wayland-protocols-devel   noarch    1.23-1.el8        appstream     88 k

-


3). 「./configure」の実行

$ cd ~/ダウンロード/geany/geany-1.38/
$ ./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」です。

-


4). 「make」の実行

$ make
:
make[1]: ディレクトリ '/home/ubn/ダウンロード/geany/geany-1.38' から出ます

→時間がかかります。休憩でもしてください。

-


5). 「make install」の実行

$ sudo make install
:
MSGFMT ja.gmo
:
installing ja.gmo as /usr/local/share/locale/ja/LC_MESSAGES/geany.mo
:
 /usr/bin/mkdir -p '/usr/local/share/geany/templates/files'
 /usr/bin/install -c -m 644  templates/files/file.html templates/files/file_html5.html templates/files/file.php templates/files/file.rb templates/files/file.tex templates/files/main.c templates/files/main.cxx templates/files/main.d templates/files/main.java templates/files/main.py templates/files/main.vala templates/files/module.erl templates/files/program.pas '/usr/local/share/geany/templates/files'
 /usr/bin/mkdir -p '/usr/local/share/geany/colorschemes'
 /usr/bin/install -c -m 644  colorschemes/alt.conf '/usr/local/share/geany/colorschemes'
 /usr/bin/mkdir -p '/usr/local/share/geany/tags'
 /usr/bin/install -c -m 644  tags/std99.c.tags tags/std.php.tags tags/std.py.tags tags/std.pas.tags tags/entities.html.tags '/usr/local/share/geany/tags'
 /usr/bin/install -c -m 644  filetype_extensions.conf snippets.conf ui_toolbar.xml geany.glade geany-3.0.css geany-3.20.css geany.css '/usr/local/share/geany/.'
 /usr/bin/mkdir -p '/usr/local/share/geany/templates'
 /usr/bin/install -c -m 644  templates/bsd templates/changelog templates/fileheader templates/function templates/gpl '/usr/local/share/geany/templates'
 /usr/bin/mkdir -p '/usr/local/share/geany'
 /usr/bin/mkdir -p '/usr/local/share/geany/filedefs'
 /usr/bin/install -c -m 644  filedefs/filetypes.python '/usr/local/share/geany/filedefs'
:
/usr/bin/install -c -m 644 ./COPYING /usr/local/share/geany/GPL-2
 /usr/bin/mkdir -p '/usr/local/share/applications'
 /usr/bin/install -c -m 644 geany.desktop '/usr/local/share/applications'
 /usr/bin/mkdir -p '/usr/local/lib/pkgconfig'
 /usr/bin/install -c -m 644 geany.pc '/usr/local/lib/pkgconfig'
:
make[1]: ディレクトリ '/home/ubn/ダウンロード/geany/geany-1.38' から出ます

→メッセージを見ていると、ファイルの配置具合がわかります。

-


6). 再起動:

メニューを有効にします:

$ reboot

-


7). インストールできたかを確認:

$ which geany
/usr/local/bin/geany

→ビルドした方が選ばれています。

-

$ whereis geany
geany: /usr/bin/geany /usr/lib64/geany /usr/local/bin/geany /usr/local/lib/geany /usr/share/geany /usr/share/man/man1/geany.1.gz

-

ビルドした geany:
$ geany --version
geany 1.38 (Jun  5 2022 以降に次を使用してビルドGTK 3.22.30, GLib 2.56.4)

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

-

dnf でインストールした geany:
$ /usr/bin/geany --version
geany 1.36 (Apr  8 2020 以降に次を使用してビルドGTK 3.22.30, GLib 2.56.4)

-

$ echo $PATH
/home/ubn/.local/bin:/home/ubn/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin

→再起動で、PATH が通りました。「/usr/bin」は後ろの方にあり、優先度は低いです。

-


8). 「Geany」を起動:

メニュー →開発 →「Geany」

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

-

日本語入力が可能です:

-

-


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

4. インストール後の確認:

-

$ cat ~/.config/geany/geany.conf | grep "pref_template_datetime="
pref_template_datetime=%Y-%m-%d %H:%M

→デフォルト値が期待している値に変更されました。

-

$ cat ~/.config/geany/geany.conf | grep "custom_date_format="
custom_date_format=

→個人の設定する日付の書式は空です。

-

この状態で、編集→日付を挿入→「個人的な日付書式で日時を挿入」

2022-06-05 04:14

→期待通りの日時が入力されました。

-

-


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

5. カスタマイズで、日付入力が楽になったか確認:

-

1). 「日付を挿入」→「個人的な日付書式を設定」

設定値がすでに入力されていました:

%Y-%m-%d %H:%M

→「OK」をクリック

-

2). アプリを閉じて、確認:

$ cat ~/.config/geany/geany.conf | grep "custom_date_format="
custom_date_format=%Y-%m-%d %H:%M

→アプリを閉じると、設定ファイルに反映されます。

-

3). カスタマイズ前のメニュー:

-

4). カスタマイズ後のメニュー:

-

(1). 個人的によく使う日時の書式を一番上に設定:

-

(2). 日時の挿入と、その書式を設定するメニューをわかりやすい言い回しに変更:

→設定していない時のデフォルトの日時の書式も合わせて修正。

-

-


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

6. 参考: 個人的な日付書式のデフォルト値について

-

結果は反映済みなので作業は要りません。見るだけにして下さい。

-

1). 最初のトライは失敗:

「geany.conf」にある名前から、「pref_template_datetime=」を設定すれば、個人的な日付書式である「custom_date_format=」のデフォルト値として「geany.conf」にセットされると思っていたら、違いました。

→プログラムの別のところで、決まった書式の「%d.%m.%Y」がセットされていました。
 その部分の修正も必要です。

-

2). 特定の文字列を含むファイルを検索:

$ find ~/ダウンロード/geany/geany-1.38 -name "*" | xargs grep "%d.%m.%Y" > ~/ドキュメント/test.txt

-

3). test.txt にて、余計な行を除外すると:

$ featherpad ~/ドキュメント/test.txt
/home/ubn/ダウンロード/geany/geany-1.38/src/ui_utils.c:       ui_prefs.custom_date_format = g_strdup("%d.%m.%Y");

-

4). 実際のファイルを確認:

$ cd ~/ダウンロード/geany/geany-1.38/
$ featherpad src/ui_utils.c

「%d.%m.%Y」で検索:

706 行目:

 /* set default value */
    if (utils_str_equal("", ui_prefs.custom_date_format))
    {
        g_free(ui_prefs.custom_date_format);
        ui_prefs.custom_date_format = g_strdup("%d.%m.%Y");
    }

710 行目の修正が必要:

     ui_prefs.custom_date_format = g_strdup("%Y-%m-%d %H:%M");

-

-


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

7. ビルドした場合のテーマについて

-

1). テーマの確認:

表示 →「色の設定…」

→標準のテーマが 2つあるだけです:

-

2). 「/usr/share/geany/colorschemes/」にある、dnf でインストールしたテーマは反映されません。

→アプリは「/usr/local」にインストールされたので、テーマはホームに配置しないと認識できません。

-

3). テーマをホームに配置:

$ cd /usr/share/geany/colorschemes/

$ cp oblivion2.conf ~/.config/geany/colorschemes/__oblivion2.conf
$ cp darcula.conf ~/.config/geany/colorschemes/_darcula.conf

→ついでに、ファイル名を変更して、選択メニューの並び順を変えています。

-

$ ls -1 ~/.config/geany/colorschemes/
:
__oblivion2.conf
_darcula.conf

→「_」の数を増やすことで、並びを変えられます。

-

4). テーマの変更:

表示 →「色の設定…」

→ファイル名を変更した、2つのテーマが選択メニューの「標準」と「Alternate」の間に追加されました。

アルファベット順でなく、「Oblivion 2」が「Darcula」よりも先に来ていることに注目。

-

Markdown ファイルを開いておきます。

選ぶだけでリアルタイムに変化します:

-

テーマ「標準」:

→標準で入っているテーマです。テーマ「Alternate)と同じもの。

-

テーマ「Oblivion 2」:

-

テーマ「Darcula」:

-

テーマ「Alternate」:

→標準で入っているテーマです。テーマ「標準」と同じもの。

-

5). テーマ「Alternate」が置かれている場所:

-

dnf でインストールした場合:

/usr/share/geany/colorschemes/alt.conf

→テーマをインストールした時と同じです。

-

ビルドした場合:

/usr/local/share/geany/colorschemes/alt.conf

-

-


まとめ

「Geany」を使っていて、個人的に使いやすくするために、自己責任でソースを修正してビルドしてみました。

一部の修正なら何とかなるものです。ちょっとした修正ですが、使いやすくなりました。

-

こういうことが出来るのも、オープンソース(ソースが公開されていること)の利点です。

-

-

-


-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-