1. 概要
「MX Linux 19.4」で、うまくいったので「MX Linux 20」でも同じ方法でいけるであろうと、たかをくくっていたら・・・。
「MX Linux 20」では。「MX パッケージインストーラ」から「jgmenu」がなくなっていたのです。
「ええい、どうにもならん」とあきらめかけていたのですが、思い直して「github」からソースを取得して、いけるところまでやってみます。
ちなみに、「.deb」は、インストールできませんでした。
2. 準備
「make」するのに足りないものがいくつかありましたので、「Synaptic」でインストールします。
本項は、下記のサイトを参考にさせていただきました。
「jgmenu/INSTALL.md at master · johanmalm/jgmenu · GitHub」
「configure: error: xml2-config not found. Please check your libxml2 installation.」
「Synaptic」で、下記のものを検索して、インストールします。
・git
・libxml2-dev
・libx11-dev
・libxrandr-dev
・libcairo2-dev
・libpango1.0-dev
・librsvg2-dev
・libmenu-cache-dev
「MX Linux 21.2」以降では、加えて「gcc」のインストールが必要です。
コマンドプロンプトで、「apt」でインストールする場合は、「root」ユーザ権限で。
apt install -y gcc git libxml2-dev libx11-dev libxrandr-dev libcairo2-dev libpango1.0-dev librsvg2-dev libmenu-cache-dev
3. インストール
以下、「root」ユーザ権限で。
必要なディレクトリを作成。
mkdir -pv $HOME/bin
mkdir -pv /tmp/jgmenu
「github」からソースの取得と「make」。
cd /tmp/jgmenu
git clone https://github.com/johanmalm/jgmenu.git
cd jgmenu
./configure --prefix=$HOME --with-lx --with-pmenu
make
make install
できあがったものをコピー。
cp jgmenu /usr/local/bin/.
cp jgmenu-apps /usr/local/bin/.
cp jgmenu-config /usr/local/bin/.
cp jgmenu-greeneye /usr/local/bin/.
cp jgmenu-i18n /usr/local/bin/.
cp jgmenu-ob /usr/local/bin/.
cp jgmenu-obtheme /usr/local/bin/.
cp jgmenu-socket /usr/local/bin/.
cp /tmp/jgmenu/jgmenu/data/jgmenu.desktop /usr/share/applications/.
cp /tmp/jgmenu/jgmenu/data/jgmenu.svg /usr/share/icons/.
「MX Linux 21.1」以降では、下記も必要です。
cp ~/bin/jgmenu_run /usr/local/bin/.
「jgmenu」のコンフィグレーションファイルを作成します(「MX Linux 21.3」以降はこの手順を割愛)。
cd ~/bin
./jgmenu_run init
cp ~/.config/jgmenu/jgmenurc /tmp/.
ログインユーザで、上記のコンフィグレーションファイルをコピーします。
mkdir -pv ~/.config/jgmenu
cp /tmp/jgmenurc ~/.config/jgmenu/.
「MX Linux 21.1」では、上記のコンフィグレーションファイルを作成することができなかったので、下記の手順で作成します。
mkdir -pv ~/.config/jgmenu
jgmenu-config -c > ~/.config/jgmenu/jgmenurc
4. パネル編集
「MX Linux 19.4」では、上部のパネルを下へ移動して、横幅いっぱいに広げましたが。
「MX Linux 20」では、上部のパネルがなかったので、それは不要でした。
以下、ログインユーザで。
現在、左サイドに出ているパネルを無効にします。
vi ~/.fluxbox/startup
# add selected tint2 panel
tint2session
# add desktop icons
idesktoggle idesk on 1>/dev/null 2>&1 &
# add root access
/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 &
#set the default dock
$HOME/.fluxbox/scripts/DefaultDock.mxdk
54行をコメント化して無効にします。
「tint2」の位置、メニューの組み込み、フォントの変更を行います。
vi ~/.config/tint2/tint2rc
panel_size = 100% 45
ちと縦幅が大きいので、少し狭めます。
「45」を「32」へ。
panel_position = bottom center horizontal
panel_layer = top
パネルの位置を下から上へ。
アプリケーションとパネルが重なった時に、パネルを下に表示するように。
下記のように編集します。
panel_position = top center horizontal
panel_layer = bottom
taskbar_name_font_color = #e3e3e3 100
taskbar_name_active_font_color = #ffffff 100
フォントの設定をいれます。下記へ。
taskbar_name_font_color = #e3e3e3 100
taskbar_name_font = MigMix 1M 10
taskbar_name_active_font_color = #ffffff 100
launcher_item_app = /usr/share/mxflux/xfce4-appfinder-mxfb.desktop
「xfce4-appfinder」を「jgmenu」へ変更します。
launcher_item_app = /usr/share/applications/jgmenu.desktop
「MX Linux 21.3」の場合は、次項を飛ばします。
5. メニュー編集
「jgmenu」を設定します。
ログインユーザで。
vi ~/.config/jgmenu/jgmenurc
「jgmenu」のコンフィグレーションファイルは、デフォルトではすべて、コメントアウトされています。
なので、以下、編集後の状態のみ掲載します。
基点からの距離をずらします。
menu_margin_x = 10
menu_margin_y = 36
項目の幅を狭く。
item_height = 22
フォントを設定。
font = MigMix 1M bold 9
選択行にメリハリをつけます。
color_sel_bg = #ffffff 40
項目名が冗長なので、説明は省略。
csv_name_format = %n
終了メニューを追加。
sh
cat << 'EOF' >> ~/.config/jgmenu/append.csv
^sep()
ログアウト,pkill fluxbox,system-log-out
再起動,sudo /sbin/reboot,system-reboot
シャットダウン,sudo /sbin/poweroff,system-shutdown
EOF
exit
6. 一気に設定
「MX Linux 21.3」では、前項の手順を下記のコマンド一発で行います。
ログインユーザで。
mkdir -pv ~/.config/jgmenu
sh
cat << 'EOF' >> ~/.config/jgmenu/jgmenurc
menu_margin_x = 10
menu_margin_y = 36
item_height = 22
font = MigMix 1M bold 9
color_sel_bg = #ffffff 40
csv_name_format = %n
EOF
cat << 'EOF' >> ~/.config/jgmenu/append.csv
^sep()
ログアウト,pkill fluxbox,system-log-out
再起動,sudo /sbin/reboot,system-reboot
シャットダウン,sudo /sbin/poweroff,system-shutdown
EOF
exit