しばらくの間、MendeleyデスクトップUIのGTKテーマを設定しようとしてきましたが、うまくいきませんでした。これを行う理由は、 暗いテーマ を使用しており、このテーマではMendeleyが読み取れない(暗いbgの暗いフォント)ためです。私が使用している関連情報の2つのソースは、 here と here です。
彼らは基本的に、そのような実行可能ファイルを呼び出すと言います
$ GTK_THEME=MyFancyTheme my_stubborn_app
現在のユーザーのデフォルトのGTKテーマをオーバーライドする必要があり、EXEC
行を変更することにより、その永続的なテーマの変更を.../share/my_stubborn_app.desktop
に統合できます。
Exec=env GTK_THEME=MyFancyTheme /path/to/my_stubborn_app %u
私の場合、これらの方法はいずれも機能しません。 UbuntuのMendeleyデスクトップUIの特別な点(Trusty Tahr 14.04、私の場合はMendeley UI v1.14)は次のとおりです。
bin
およびshare
およびlib
フォルダーを持つスタンドアロンパッケージとして提供され、Qtを使用します。lib/mendeleydesktop/libexec/mendeleydesktop.x86_64
(Ubuntu 64ビットの場合)にありますが、pythonスクリプトbin/mendeleydesktop
で定義された環境変数を必要とするため、直接呼び出すことはできません。mendeleydesktop.desktop
ファイル(Unityランチャーでアイコンを使用できるようにする)は、bin/install-mendeley-link-handler.sh
が呼び出されるたびにbin/mendeleydesktop
によって上書きされます。mendeleydesktop.desktop
ファイルは、$HOME/.local/share/applications
で作成/上書きされます。これまでに行ったのは、bin/install-mendeley-link-handler.sh
を編集して、各呼び出しで上書きされる.desktop
ファイルに変更されたExec=env GTK_THEME...
行が含まれるようにすることでした。それはうまくいかないようです。誰でも助けることができますか?
やや不格好に感じますが、やっとそれを成し遂げました。以下では:
$MENDELEY_FOLDER
はMendeleyフォルダーです。$CURRENT_GTK_THEME
は、現在使用しているGTKテーマの名前です$MENDELEY_GTK_THEME
は、Mendeleyで使用するテーマの名前です注:現在使用しているテーマの名前を取得するには、ターミナルでgsettings get org.gnome.desktop.interface gtk-theme
と入力します。 Mendeleyで使用する良いテーマはAmbiance
です。
本質的に、メンデリーをだまして、ルートGTKテーマフォルダーは別の場所にあると考えさせます。
mkdir $MENDELEY_FOLDER/share/themes/
ln -s /usr/share/themes/$MENDELEY_GTK_THEME $MENDELEY_FOLDER/share/themes/$CURRENT_GTK_THEME
install-mendeley-link-handler.sh
を変更します$MENDELEY_FOLDER/bin/install-mendeley-link-handler.sh
に配置する必要があります。私の場合、ファイルmendeleydesktop.desktop
を上書きする行を編集する必要があります。
cat > $DESKTOP_PATH/mendeleydesktop.desktop <<EOF
[Desktop Entry]
Name=Mendeley Desktop
GenericName=Research Paper Manager
Comment=Mendeley Desktop is software for managing and sharing research papers
Exec=env GTK_DATA_PREFIX=$MENDELEY_FOLDER $MENDELEYDESKTOP_BIN %u
Icon=mendeleydesktop
Terminal=false
Type=Application
Categories=Education;Literature;Qt;
X-SuSE-translate=false;
MimeType=x-scheme-handler/mendeley;application/pdf;text/x-bibtex;
X-Mendeley-Version=1
EOF
Exec=...
行の変更に注意してください。
ローカルバイナリ($HOME/local/bin
など)を保持している場合は、次を使用して新しいファイルmendeley
を作成します。
GTK_DATA_PREFIX=$MENDELEY_FOLDER \
$MENDELEY_FOLDER/bin/mendeleydesktop
次に、chmod +x mendeley
を実行して実行可能にし、mendeleydesktop.desktop
ファイルを更新するために実行します。
最後の手順は、システム全体のスクリプト(/opt/mendeleydesktop
にある可能性が高い)が$HOME/.local/share
にあるmendeleydesktop
実行可能ファイルへのリンクを実際に作成するという点で、わずかに異なります。代わりに、以前のスクリプトを呼び出す必要があります。
編集するファイルは/usr/share/applications/mendeleydesktop.desktop
である必要があります。このファイルでは、GTK_DATA_PREFIX
の定義を呼び出しの前に付けることにより、以前と同様にExec
行を変更する必要があります。これはトリックを行う必要があります:)
Kde plasma(manjaro linux)でうまく機能した答えを追加したいと思います。 notは管理者権限を必要としません。
免責事項: 2018-12-04のシステムでMendeley 1.19を使用して1回だけテストしました。
以下のコマンドと結果は、DEやOS、メンデリーのバージョンによって異なる場合があります。
mkdir $HOME/.config.theme_override
。ln -s "$HOME/.config/Mendeley Ltd." "$HOME/.config.theme_override/Mendeley Ltd."
XDG_CONFIG_HOME="$HOME/.config.theme_override" mendeleydesktop
その後、mendeleyは$HOME/.config.theme_override
でプラズマテーマ設定を検索しますが、テーマは検出されず、読みやすい明るいテーマにフォールバックします。
次にデスクトップエントリ:
$HOME/.local/share/applications/mendeleydesktop.desktop
を以下の(**)のように編集します.desktop
ファイルから書き込み許可を削除します。chmod -w $HOME/.local/share/applications/mendeleydesktop.desktop
将来の探偵を助けるいくつかのメモ/洞察:
$HOME/.config/Mendeley Ltd.
です。構成フォルダーを変更しても、Mendeleyデータベースの場所($HOME/.local/share/data/Mendeley Ltd.
)は変わりません。$HOME/.local/share/Mendeley Ltd.
および$HOME/.cache/Mendeley Ltd.
にも保存します。configフォルダーを変更しても、Mendeleyがこれらのフォルダーを探す場所は変わりません。これらのフォルダはリスクなしで削除でき、Mendeleyは自動的に復元するようです。上記のものがテーマを変更するために機能しない場合、これらのフォルダを削除することが役立つかもしれませんが、私は自信がありません、あなた自身の責任で進めてください。.desktop
ファイルをオーバーライドするスクリプトが実行されます。このファイルは、mendeleyをアプリケーションメニューおよびランチャーに表示するファイルです。これが上記の手順(3.)が必要な理由です。このファイルは次の場所にあります:$HOME/.local/share/applications/mendeleydesktop.desktop
、ファイル$HOME/.local/share/mendeleydesktop
を実行します。デフォルトでは、/opt/mendeleydesktop/bin/mendeleydesktop
にシンボリックリンクされています。メンデリーの開発者がこの複雑なセットアップを選んだ理由を聞かないでください。(** $HOME/.local/share/applications/mendeleydesktop.desktop
の内容)
[Desktop Entry]
Name=Mendeley Desktop
GenericName=Research Paper Manager
Comment=Mendeley Desktop is software for managing and sharing research papers
Exec=env XDG_CONFIG_HOME="$HOME/.config.theme_override" $HOME/.local/share/mendeleydesktop %f
Icon=mendeleydesktop
Terminal=false
Type=Application
Categories=Education;Literature;Qt;
X-SuSE-translate=false
MimeType=x-scheme-handler/mendeley;application/pdf;text/x-bibtex;
X-Mendeley-Version=1