登録日: 2022-05-22 更新日: 2022-06-09
UEFI 立ち上げのPCに、安定版の「Xubuntu 20.04.4 LTS」をインストール 、設定 して使っています。
-
そのホストOS の「VirtualBox」に、公開された ばかりの「Xubuntu 22.04 LTS」をインストールしました。 その環境で、「Geany」をビルドしてインストールしました。その備忘録です。
-
ホストOS : Xubuntu 20.04.4 LTS
ゲストOS : Xubuntu 22.04 LTS ←(今回の作業)
-
-
使用したPC は「ASUS Chromebox CN60 」で、 プロセッサは第4世代の「Intel Celeron 2955U 」です。UEFI 立ち上げです。
-
(注)リンクを戻るときはブラウザの左上の「←」をクリック
-
-
目次
-
以前の作業:
1. 「Xubuntu 22.04 LTS のインストール」
-
今回の作業:
4. 「まとめ へ」
-
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -
「Xubuntu 22.04」の画面:
-
全画面で表示:
→ホストOS の「Xubuntu 20.04.4 LTS」にて、「Xubuntu 22.04 LTS」を起動しているところ。
別の壁紙に変えています。
ホストOS のパネルは画面下で、「Xubuntu 22.04 LTS」のパネルは上側(デフォルト)です。
-
-
現在のバージョンを表示:
-
ホストOS : Xubuntu 20.04.4 LTS
2022-06-09 現在
カーネル:
$ uname -r 5.13.0-48-generic
リリース:
$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.4 LTS"
-
ゲストOS : Xubuntu 22.04 LTS
2022-06-09 現在
カーネル:
$ uname -r 5.15.0-37-generic
リリース:
$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=22.04 DISTRIB_CODENAME=jammy DISTRIB_DESCRIPTION="Ubuntu 22.04 LTS"
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --
1. 「Geany」のソースのダウンロード:
-
Fedora で「Geany」をビルドするので、事前に「Xubuntu 22.04 LTS」でビルドできるか確認しました。
ついでに、日付日時の挿入が使いやすいように個人的にソースを少し修正。自己責任です。
-
1). 公式サイト:
-
2). 「curl」のインストール:
$ sudo apt install curl
-
3). ソースファイルのダウンロード
-
参考:
Source (tar.gz) : geany-1.38.tar.gz
-
(1). ダウンロード:
$ mkdir -p ~/ダウンロード/geany $ cd ~/ダウンロード/geany/ $ curl -OL https://download.geany.org/geany-1.38.tar.gz
-
参考:「curl」コマンドは、オプションがないと「ファイルの中身を標準出力する」だけです。
オプションをつけることでファイルをダウンロードできます。
「-O (--remote-name) 」: Write output to a file named as the remote file
→標準出力には出力せず、リモートのファイル名でファイルをダウンロード。
「-L (--location) 」: Follow redirects
→URLからのリダイレクトに対応。
-
(2). ダウンロードされたか確認:
$ ls ~/ダウンロード/geany/ geany-1.38.tar.gz
-
(3). チェックサムの確認:
$ sha256sum geany-1.38.tar.gz e91e903924b993b79ef88f33708372dc7c79aee78e15a02e728338695e9dc155 geany-1.38.tar.gz
→表示された値が同じことを確認。
-
4). ソースファイルの展開:
$ 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
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---
2. 任意:「Geany」のソースをカスタマイズ:
-
日付日時の挿入が使いづらく感じたので、ソースを少しだけ修正。自己責任です。 実施しなくてもOK。
-
1). パッチファイルの作成 1:
$ cd ~/ダウンロード/geany/geany-1.38/ $ mousepad 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つの空行も含め、すべて貼り付けてください。
-
2). パッチファイルの作成 2:
$ cd ~/ダウンロード/geany/geany-1.38/ $ mousepad 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 2021-10-10 00:02:15.000000000 +0900" echo -e "+++ b/src/ui_utils.c 2022-05-21 05:46:21.795942876 +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 ""
→ファイルの終わりの 2つの空行も含め、すべて貼り付けてください。
-
ちなみに、通常のパッチを作成するやり方では、パッチがうまく動かないときがありました。
回避策として、「Tab」を「文字化」しました。
→パッチを当てるソースファイルは「Tab」が使われているファイルなので、差分作成して「Tab」に合わせないと、パッチのチェックが通りません。
-
迷った原因はブラウザでの貼付け:
わかったことは、ブラウザにて、ブログの「編集」モードで貼り付けるとパッチは正常動作して、ブログの「プレビュー」モードで貼り付けると、パッチはエラーで停止しました。
→ブログの「編集」モードで貼り付けると「Tab」が貼り付けられ、ブログの「プレビュー」モードで貼り付けると「スペース」が貼り付けられる、ことがわかりました。
-
3). パッチファイルの合算:
$ cd ~/ダウンロード/geany/geany-1.38/ $ bash geany.patch2.sh >> geany.patch
-
4). patch コマンドのインストール:
Fedora だとデフォルトでインストールされていません。
$ apt list patch 一覧表示... 完了 patch/jammy,now 2.7.6-7build2 amd64 [インストール済み、自動]
-
5). パッチファイルの適用:
$ cd ~/ダウンロード/geany/geany-1.38/ $ patch -p1 < geany.patch : patching file po/ja.po patching file src/ui_utils.c
→パッチの適用で、エラーが表示されないことを確認。
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----
3. 「Geany」をビルドしてインストール:
-
1). ソースファイルの在り処:
$ 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
→カスタマイズした場合は、「geany.patch」、「geany.patch2.sh」が追加されていると思います。
-
2). ツールのインストール:
$ sudo apt install pkg-config make intltool : make はすでに最新バージョン (4.3-4.1build1) です。 pkg-config はすでに最新バージョン (0.29.2-1ubuntu3) です。 : 以下のパッケージが新たにインストールされます: autoconf automake autotools-dev gettext intltool libsigsegv2 m4
-
3). 依存のインストール
$ sudo apt install libgtk-3-dev : 以下のパッケージが新たにインストールされます: icu-devtools libatk-bridge2.0-dev libatk1.0-dev libatspi2.0-dev libblkid-dev libbrotli-dev libcairo2-dev libdatrie-dev libdbus-1-dev libdeflate-dev libegl1-mesa-dev libepoxy-dev libexpat1-dev libffi-dev libfontconfig-dev libfontconfig1-dev libfreetype-dev libfreetype6-dev libfribidi-dev libgdk-pixbuf-2.0-dev libgles-dev libgles1 libglib2.0-dev libglib2.0-dev-bin libglvnd-core-dev libglvnd-dev libgraphite2-dev libgtk-3-dev libharfbuzz-dev libharfbuzz-gobject0 libice-dev libicu-dev libjbig-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev liblzma-dev libmount-dev libopengl-dev libpango1.0-dev libpcre16-3 libpcre2-dev libpcre2-posix3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpixman-1-dev libpng-dev libpng-tools libselinux1-dev libsepol-dev libsm-dev libthai-dev libtiff-dev libtiffxx5 libwayland-bin libwayland-dev libxcb-render0-dev libxcb-shm0-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxrender-dev libxtst-dev pango1.0-tools python3-distutils python3-lib2to3 uuid-dev wayland-protocols zlib1g-dev
-
4). 「./configure」の実行
$ cd ~/ダウンロード/geany/geany-1.38/ $ ./configure : ----------------------------------------------- Install Geany in : /usr/local Using GTK version : 3.24.33 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」です。
-
5). 「make」の実行
$ make : make[1]: ディレクトリ '/home/ubn/Downloads/geany-1.38' から出ます
→時間がかかります。
-
6). 「make install」の実行
$ sudo make install
-
7). 再起動して、メニューを有効にします:
$ reboot
-
8). インストールできたかを確認:
$ which geany /usr/local/bin/geany
-
$ geany --version geany 1.38 (May 20 2022 以降に次を使用してビルドGTK 3.24.33, GLib 2.72.1) $ /usr/local/bin/geany --version geany 1.38 (May 20 2022 以降に次を使用してビルドGTK 3.24.33, GLib 2.72.1) $ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
→再起動で、PATH が通りました。
-
9). メニューにて「Geany」を起動:
メニュー →開発 →「Geany」
→バージョンは「1.38」です。
-
日本語入力が可能です:
-
10). 任意: カスタマイズした場合、日付入力が使いやすくなったかを確認:
→日付入力とか、テーマの変更(色の変更)やフォントのメニューが無効で確認できません。
-
何かの機能? が足りません:
-
11). インストール:
$ sudo apt install geany : 以下の追加パッケージがインストールされます: geany-common : 以下のパッケージが新たにインストールされます: geany geany-common
-
→「geany-common」が足りなかったようです。
たぶん、「geany-plugin」のソースがあったので、そのビルドも必要だと思います。
-
ちなみに、2重にインストールしたことで、プラグインや設定ファイルは共通に使われます。 また、アプリ本体はパスの優先度が高いビルドの方が使われます。なので、カスタマイズした修正が反映されます。
-
カスタマイズ前のメニュー:
→デフォルトのメニューだと、日時の挿入が面倒に感じました。
-
カスタマイズ後のメニュー:
→個人的によく使う日時の書式を一番上に設定。
それだけでなく、日時の設定と使用のメニューもわかりやすい文言に修正しました。
-
-
まとめ
「Geany」のソースのカスタマイズを当てるのに、「パッチファイル」を使ってみました。 ですが、2つのパッチの中のひとつが、時々エラーとなりました。
試すたびに、というのがポイントでした。回避できましたが、もっと大きなファイルだと、元ファイル自体を変更するとか、違う回避策にしたと思います。
-
ブラウザ経由でのパッチファイルの作成の、良い体験になりました。
色々とやってみると勉強になります。
-
-
-
-
目次
-
-
- 目次
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -
- 「Xubuntu 22.04」の画面:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --
- 1. 「Geany」のソースのダウンロード:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---
- 2. 任意:「Geany」のソースをカスタマイズ:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----
- 3. 「Geany」をビルドしてインストール:
- まとめ
- -
-
-
-
-