お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2021-09-23 11:27:22

ukituriboku
メンバ
登録日: 2018-07-26

Flatpakのアプリをインストールしてもアプリケーションメニューに登録されない

Ubuntu 18.04です。
MarkerというFlatpakのアプリをインストールしても、アプリケーションメニューに登録されないのですがどうしたら良いのでしょう。

オフライン

 

#2 2021-09-23 14:40:04

redred
メンバ
登録日: 2020-05-27

Re: Flatpakのアプリをインストールしてもアプリケーションメニューに登録されない

コマンドラインからのインストールだったのでしょうか?
SnapなUbuntuでも、ストアー経由でFlatpakをインストールする方法もあるようです。

現状で再起動してもメニューに現れない場合は、メニュー項目を自作して所定のフォルダに置きます。
下記お試しください。

テキストファイルを作成

ファイル名
com.github.fabiocolacio.marker.desktop
権限
プログラムとして実行可能

その内容
[Desktop Entry]
Name=Marker
GenericName=Markdown Editor
Comment=A simple markdown editor for GTK+
Categories=GTK;Utility;
Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=marker --file-forwarding com.github.fabiocolacio.marker @@u %u @@
Icon=com.github.fabiocolacio.marker
Terminal=false
Type=Application
X-GNOME-Gettext-Domain=marker
Keywords=marker;markdown;editor;web;
Name[en_US]=Marker
MimeType=text/x-markdown;
X-Flatpak=com.github.fabiocolacio.marker

格納場所
/home/(自分のユーザー名)/.local/share/applications

再起動

オフライン

 

#3 2021-09-23 18:30:56

ukituriboku
メンバ
登録日: 2018-07-26

Re: Flatpakのアプリをインストールしてもアプリケーションメニューに登録されない

redredさん、回答ありがとうございます。

FlatpakのMarkerはUbuntuソフトウェアからインストールしました。
*.desktopファイルはコマンドラインの登録が面倒なので敬遠していました。
やはり、*.desktopファイルを作る必要があるのですね。

オフライン

 

#4 2021-09-25 09:59:05

elliptic
メンバ
登録日: 2020-03-05

Re: Flatpakのアプリをインストールしてもアプリケーションメニューに登録されない

そのアプリをどのように起動していますか?
そのアプリだけの問題ですか? ほかのFlatpakアプリではアイコン登録できますか?

「端末」で以下を実行して、結果を教えてください。

コード:

echo $XDG_DATA_DIRS

ls /var/lib/flatpak/exports/share/applications/

flatpak --version

flatpakコマンドのバージョンが 1.0.9以上なら「端末」で

コード:

flatpak repair

を実行して改善されるかどうか試してみてください。

オフライン

 

#5 2021-09-25 10:38:37

ukituriboku
メンバ
登録日: 2018-07-26

Re: Flatpakのアプリをインストールしてもアプリケーションメニューに登録されない

elliptic による投稿:

そのアプリをどのように起動していますか?
そのアプリだけの問題ですか? ほかのFlatpakアプリではアイコン登録できますか?

「端末」で以下を実行して、結果を教えてください。

コード:

echo $XDG_DATA_DIRS

ls /var/lib/flatpak/exports/share/applications/

flatpak --version

flatpakコマンドのバージョンが 1.0.9以上なら「端末」で

コード:

flatpak repair

を実行して改善されるかどうか試してみてください。

実行結果は以下の通りです。

コード:

$ echo $XDG_DATA_DIRS
/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop

$ ls /var/lib/flatpak/exports/share/applications/
com.github.fabiocolacio.marker.desktop  org.x.Warpinator.desktop
mimeinfo.cache

$ flatpak --version
Flatpak 1.0.9

コード:

flatpak repair

上記のコマンドを実行してNotejotというFlatpakアプリをインストールしてみましたが、アイコン登録はされませんでした。

オフライン

 

#6 2021-09-26 11:18:13

elliptic
メンバ
登録日: 2020-03-05

Re: Flatpakのアプリをインストールしてもアプリケーションメニューに登録されない

#5

ukituriboku による投稿:

コード:

$ echo $XDG_DATA_DIRS
/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop

$ ls /var/lib/flatpak/exports/share/applications/
com.github.fabiocolacio.marker.desktop  org.x.Warpinator.desktop
mimeinfo.cache

アプリケーションを登録するための desktop entry ファイルは作成されています。
その場所をGNOME shell に知らせるのが XDG_DATA_DIRS変数です。正常ならば
XDG_DATA_DIRS=/usr/share/ubuntu:/home/ubuntu/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
のように flatpak用のパスを含みますが 現在はそうなってないのでアプリケーションメニューから
見えない状態になっています。
XDG_DATA_DIRSをflatpakに合わせて加工するスクリプトが2箇所あります。
次はこれをチェックしてみてください。

コード:

cat /etc/X11/Xsession.d/20flatpak

cat /etc/profile.d/flatpak.sh

"cat: 〜 :そのようなファイルやディレクトリはありません" などとエラーになるならば
パッケージ flatpak のインストール時に作られるはずの設定が壊れています。
flatpakを再インストールしてみてください。

コード:

sudo apt reinstall flatpak

オフライン

 

#7 2021-09-26 13:51:51

ukituriboku
メンバ
登録日: 2018-07-26

Re: Flatpakのアプリをインストールしてもアプリケーションメニューに登録されない

elliptic による投稿:

#5

コード:

cat /etc/X11/Xsession.d/20flatpak

cat /etc/profile.d/flatpak.sh

上記コマンドを実行した結果は以下の通りです。

コード:

$ cat /etc/X11/Xsession.d/20flatpak
# /etc/profile.d/flatpak.sh - set XDG_DATA_DIRS

if [ "${XDG_DATA_DIRS#*flatpak}" = "${XDG_DATA_DIRS}" ]; then
    XDG_DATA_DIRS="${XDG_DATA_HOME:-"$HOME/.local/share"}/flatpak/exports/share:/var/lib/flatpak/exports/share:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"
fi

export XDG_DATA_DIRS

$ cat /etc/profile.d/flatpak.sh
# /etc/profile.d/flatpak.sh - set XDG_DATA_DIRS

if [ "${XDG_DATA_DIRS#*flatpak}" = "${XDG_DATA_DIRS}" ]; then
    XDG_DATA_DIRS="${XDG_DATA_HOME:-"$HOME/.local/share"}/flatpak/exports/share:/var/lib/flatpak/exports/share:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"
fi

export XDG_DATA_DIRS

オフライン

 

Board footer

Powered by FluxBB