web-dev-qa-db-ja.com

meldのテキストを読みやすくするにはどうすればよいですか?

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

meld fails

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

root meld works

Meldのテキストの色オプションを指定するにはどうすればよいですか?

私が使用しています:

  • Arch Linux
  • KDE 4.14.3(4.14.2でも見られる)
  • meld 3.12.2(3.12.1でも見られる)
  • gtk3 3.14.6(3.14.5でも見られる)

トラブルシューティング

KDEシステム設定

meldはGTK3を使用しているため、[システム設定]> [一般的な外観と動作]> [アプリケーションの外観]> [GTK]> [GTK3テーマの選択]をいじっています。この変更はmeldに反映されましたが、選択した3つのオプションのいずれもテキストを変更しませんでした。 (使用可能なオプションは、Default、Emacs、oxygen-gtkでした。後者は上記のスクリーンショットで使用されています。)

構成ファイルを手動で変更する

名前に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を削除しましたが、これは効果がなく、メルドを開いたときに再作成されました。

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

(また、FWIWは~/.gtkrc-2.0-kde4を削除しました。これは実際には~/.gtkrc-2.0へのシンボリックリンクでした。また、ターゲット自体も削除しましたが、役に立ちませんでした。繰り返しますが、gtkを再ロードしませんでした(Iこれが必要かどうか、または可能かどうかは不明です)、そして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"

(開示:以前、この質問を KDEフォーラム で行ったことがありますが、解決策はありませんでした。)

16
Sparhawk

Meld 3.12.1で導入されたリグレッションだったようです。以前のバージョンをmeld website からダウンロードしました。

Meld 3.12.0は正常に動作します。 3.12.0

Meld 3.12.1ではサポートされていません。 enter image description here

開発者に連絡したところ、実際にgtk + 3ポートで発生したリグレッションであると言われました。彼らはリリースされたばかりの3.12.3を試してみることを提案しました。 (ただし、それでも、新しいアカウントでの統合が機能する理由は完全には説明されていません。)

4
Sparhawk

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

見る Meld > Preferences

meld prefernces

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


CLIでMeldの特定のテーマを強制することもできます:GTK_THEME=Adwaita:dark meld

16
Tombart

更新のみを許可しています...

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

しかし、dconf-editorを使用して、meld構成にアクセスし、style-chemaを 'meld-dark'に設定して、幸せになれます!

ほとんどそのように: https://linux.m2osw.com/no-meld-preferences-men

enter image description here

3
Tiago Oliveira

私が行った場合 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(他には何もない)を実行します。 okと表示される場合は、そこでドットファイル/環境変数を表示して、自分のアカウントと比較できます。デスクトップ環境がデフォルトのドットファイルを作成する機会を得るために、suまたはSudoを使用するだけでなく、X経由でログインする必要があることに注意してください。ルートとして。

それでもうまくいかない場合は、いつでも諦めて Diffuse を代わりに使用できます。私自身はまだ適切にテストしていませんが、meldで実行できないことがいくつかあります(ただし、ディレクトリの比較はできないため、完全な代替にはなりません)。 :)

更新

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

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

異なるものについては、メルドを使ってさらに調査することができます。これで何も生成されない場合は、おそらく削除するのが難しいファイルがあるはずです。 straceに戻って、2つのアカウントの出力を比較してみてください。

3
Graeme

meld.cssをそこにあるもので上書きすると、暗いテーマでMeldを使用できるようになります https://wiki.gnome.org/Apps/Meld/DarkThemes

1
k_zoltan