どのようにしてmeldのテキストを読みやすくすることができますか?

数ヶ月前、 meld は奇妙な行動をとり始めました。共通線はほとんど判読できず、黒い背景に濃い灰色のテキストとして表示されます。

meld fails

テーマはそれほど美しくありませんが、奇妙なことに、( kdesudo meld を使って)rootとして実行するのは問題ありません。

root meld works

どのように私はmeldのためにテキストのカラーオプションを指定することができますか?

私が使っている:

  • Arch Linux
  • KDE 4.14.3(4.14.2でも見られます)
  • 3.12.2のメルト(3.12.1でも見られる)
  • gtk3 3.14.6(3.14.5でも見られます)

トラブルシューティング

KDEシステム設定

meld uses GTK3, so I fiddled with System Settings > Common Appearance and Behaviour > Application Appearance > GTK > Select a GTK3 Theme. This change was reflected in meld, but none of the three options I selected changed the text. (The available options were Default, Emacs, and oxygen-gtk; the latter is used in the screenshot above.)

手動で設定ファイルを修正する

gtk という名前のファイルを探しました。

~/.gtkrc-2.0
~/.gtkrc-2.0-kde4
~/.config/gtk-2.0
~/.config/gtk-3.0
~/.kde4/share/config/gtkrc
~/.kde4/share/config/gtkrc-2.0

興味深いことに、/root には gtk という名前はありません。そこで、私は自分のユーザーに対して同じ効果が得られるかどうかを確かめるために、いくつかのファイルを削除してみました。すべての gtkrc-2.0 ファイルはmeldとは無関係だと思います。

まず、〜/ .config/gtk-3.0 を削除しましたが、これは効果がなく、meldを開いたときに再現されました。

他の唯一のオプションは〜/ .kde4/share/config/gtkrc であるように見えたので、これを削除してmeldを開始しても影響はありません。ただし、ファイルは再作成されておらず、関連する可能性のある行がいくつか含まれています(例: text [ACTIVE] = {1.000、1.000、1.000} )。 (見つからない)ファイルがまったくロードされたかどうかはわかりません。 kbuildsycoca4を試しました。 kquitappプラズマデスクトップ。眠り2; kstart plasma-desktop 、これは効果がありませんでした。手動でgtkrcをリロードする必要がありますか?そして、なぜこのファイルはシステム設定の影響を受けたり書き換えられたりしないのですか?

(また、FWIWでは、〜/ .gtkrc-2.0-kde4 を削除しました。これは実際には〜/ .gtkrc-2.0 へのシンボリックリンクであり、ターゲット自体も削除しました。私はgtkをリロードしなかったし(これが必要かどうかわからない)、もう一度meldを実行してもファイルが再作成されなかった。)

おそらく適切な環境変数

$ export | grep -i gtk
declare -x GTK2_RC_FILES="/etc/gtk-2.0/gtkrc:/home/sparhawk/.gtkrc-2.0:/home/sparhawk/.kde4/share/config/gtkrc-2.0"
declare -x GTK_IM_MODULE="xim"
declare -x GTK_MODULES="canberra-gtk-module"
declare -x GTK_RC_FILES="/etc/gtk/gtkrc:/home/sparhawk/.gtkrc:/home/sparhawk/.kde4/share/config/gtkrc"

(Disclosure: I've previously asked this question on the KDE forums, but didn't come to a solution.)

9
@tombart回答は最も更新されている、受け入れられたものであるべきです
追加された 著者 Markus Jarderot,
さてさてそれは私にとって役に立ちました:)
追加された 著者 Markus Jarderot,
いいえ、質問は3年前に紹介された回帰に関するものです。 Tombartの回答は、似ているが別々の問題を説明しています。詳細については、質問と回答をよく読んでください。
追加された 著者 Bryan Ash,
心配ない。部分的に私はこれを閉じることに投票していない理由です。ソフトウェアの更新による廃止 ">メタ)。
追加された 著者 Bryan Ash,

5 答え

少なくともMeld 3.16.4以降は、さまざまな配色をサポートしています。

See Meld > Preferences:

meld prefernces

(おそらくこの変更は以前のバージョンで導入されました)

Note:
It is also possible to force a specific theme for Meld by CLI: GTK_THEME=Adwaita:dark meld

5
追加された
正しい答えを定義しよう!
追加された 著者 Markus Jarderot,

Meld 3.12.1で導入された回帰だったようです。以前のバージョンをmeld Webサイトからダウンロードしました。

Meld 3.12.0 works fine. 3.12.0

Meld 3.12.1 does not. enter image description here

私は開発者に連絡しました、そして、彼らはそれが確かにgtk + 3ポートで導入された退行であると私に言いました。彼らは、リリースされたばかりの3.12.3を試してみることを提案しました。 (ただし、新しいアカウントでのMELDが機能する理由はまだ完全には説明されていません。)

4
追加された
私は答えを更新しました。
追加された 著者 Bryan Ash,
@Graeme私はArchを使っており、公式リポジトリからインストールします。 2つのバージョンのすべての依存関係は同一です。
追加された 著者 Bryan Ash,
@グレイムはい、そうです。おそらく重要ではありませんが、私はそれらを非圧縮ファイルから直接実行しました。
追加された 著者 Bryan Ash,
3.12.0を実行した後もMeld 3.12.1は同じですか?
追加された 著者 Joshua Cook,
2つのバージョン間で異なるGnome依存関係はありますか?どのディストリビューションを使用していて、どのようにインストールしていますか?
追加された 著者 Joshua Cook,
そのため、問題は meld 以外のものによって引き起こされる可能性はあまりありません...
追加された 著者 Joshua Cook,

locate -b meldを実行した場合grep home 、私はあなたが言及していない3つのディレクトリを取得します。

~/.gconf/apps/meld
~/.gconf/apps/gnome-settings/meld
~/.local/share/meld

〜/ .local/share にあるものはローカル比較の歴史のようですが、他の2つのディレクトリには xml ファイルがあります。それらを削除してみます。

それでもうまくいかない場合は、 meld がどのファイルを読み取るのかを正確に確認できます。

strace -e trace=file meld |& grep home

アウトプットを見れば、調査のために何か他のものが得られるはずです。

失敗したら、別のユーザーアカウントを作成し、ログインしてそこにmeldを実行します(それ以外は何もしません)。それがうまく表示されれば、そこにドットファイル/環境変数を見て、あなた自身のアカウントとそれらを比較することができます。デスクトップ環境がデフォルトのドットファイルを作成する機会を得るためには、単に susudo を使用するのではなく、X経由でログインする必要があります。 rootとして実行しているときは普通に見えます。

それでもうまくいかない場合は、いつでも代わりに拡散を使用して放棄することができます。私はまだ自分でそれを正しくテストしていませんが、 meld ができないことをいくつか行っています(ただし、ディレクトリの比較はできませんので、代わりにはなりません)。 :)

更新

問題のあるファイルを追跡するには、新しいアカウントのドットファイルと古いファイルを比較します。残念ながら、それは新しいアカウントのほとんどすべてのドットファイルである可能性があります。そのため、他のアプリケーション(特にWebブラウザ)を実行しないことが重要になります。ファイルを比較するには、新しいアカウントで次のようなものを実行してみます。

find . -type f -exec cmp {} /home/your_account/{} \;

違うものについては、Meldとさらに詳しく調べることができます。これで問題が解決しない場合は、おそらく削除したいファイルがあるはずですが、見つけるのは難しいでしょう。 strace に戻って、2つのアカウントの結果を比較してみてください。

3
追加された
私は自分の答えを更新しました。
追加された 著者 Bryan Ash,
私は新しいアカウントを作成しました、そして、はい、テキストはそこにうまく見えます。質問のとおり、( export | grep -i gtk を使って)環境変数を調べましたが、唯一の違いは、元の機能していないアカウントに次のものがあることです。 declare -x GTK_IM_MODULE = "xim" 。どのファイルを検索すればよいのかよくわかりません。名前に gtk または meld が含まれているファイルを検索しましたが、既にテスト済みの上記のファイルのみが見つかりました。
追加された 著者 Bryan Ash,
詳細な戦略の場合は+1。まだ機能していませんが、ここまでの結果です。 2つのディレクトリを削除してからmeldを再起動すると、うまくいきませんでした。 strace により、次の候補者が明らかになりました:〜/ .config/gtk-3.0/settings.ini〜/ .config/oxygen-gtk 、< code>〜/ .kde4/share/config/kdeglobals 、 /home/lee/.kde4/share/config/oxygenrc 。最初のものは既に試みられました、しかし残りを順番に削除することはうまくいきませんでした。次に新しいアカウントを作成してみます。
追加された 著者 Bryan Ash,
@Sparhawk、更新しました。違いはありませんが、コマンドラインから unset GTK_IM_MODULE を実行してから同じシェルから meld を実行しても問題ありません。
追加された 著者 Joshua Cook,

overwrite the meld.css with the one there and you will be able to use Meld with the dark theme https://wiki.gnome.org/Apps/Meld/DarkThemes

1
追加された
私は暗いテーマを使いたくありませんでした。この質問はテーマを全体的に変更することではなく、単に特定の要素、つまり共通線についてのものです。受け入れられた答えに従って、それはその後修正された回帰でした。
追加された 著者 Bryan Ash,
それが価値があるもののために...私の目的のためにこれは完璧な答えでした - 暗いテーマにgtkを切り替えることはmeldのテキストを判読不能にするという素晴らしい仕事をします
追加された 著者 Dmitri DB,

更新を貸すだけ...

3.18バージョンではテーマを変更するための設定は表示されません。

しかし、dconf-editorによって、meldの設定にアクセスしてstyle-chemaを 'meld-dark'に設定することができます。

almost like that: https://linux.m2osw.com/no-meld-preferences-menu

enter image description here

0
追加された