meld의 텍스트를 읽을 수있게하려면 어떻게해야합니까?


16

몇 달 전에 meld이상하게 행동하기 시작했습니다. 공통 선은 거의 읽을 수 없으며 검정색 배경에 어두운 회색 텍스트로 표시됩니다.

멜트 실패

이상하게도 kdesudo meld주제가 덜 예쁘지 만 루트로 실행하면 괜찮습니다 ( ).

루트 멜드 작품

meld의 텍스트 색상 옵션을 지정하려면 어떻게해야합니까?

나는 사용하고있다 :

  • 아치 리눅스
  • KDE 4.14.3 (4.14.2에도 표시)
  • 멜트 3.12.2 (3.12.1에서도 보임)
  • gtk3 3.14.6 (3.14.5에서도 보임)

문제 해결

KDE 시스템 설정

meldGTK3을 사용하므로 시스템 설정> 일반 모양 및 동작> 응용 프로그램 모양> GTK> GTK3 테마 선택을 살펴 보았습니다. 이 변경 사항은 meld에 반영되었지만 선택한 세 가지 옵션 중 어느 것도 텍스트를 변경하지 않았습니다. (사용 가능한 옵션은 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

흥미롭게도에 gtk이름에 아무것도 없습니다 /root. 따라서 일부 ~파일을 삭제하여 사용자에게 동일한 효과를 줄 수 있는지 확인했습니다. 모든 gtkrc-2.0파일이 병합과 관련이 없다고 가정합니다 .

먼저을 삭제 ~/.config/gtk-3.0했지만 효과가 없었으며 meld를 열 때 다시 만들어졌습니다.

다른 옵션은으로 ~/.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를 다시로드하지 않았습니다 (필요한지 확실하지 않은지, 또는 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 포럼 에서이 질문을 했지만 해결책을 찾지 못했습니다.)


@tombart 답변이 가장 업데이트되었습니다, 받아 들여 져야합니다
Francesco

@Francesco 아니오,이 질문은 3 년 전에 소개 된 회귀에 관한 것입니다. Tombart의 답변은 비슷하지만 별도의 문제를 설명합니다. 자세한 내용은 질문과 답변을 자세히 읽으십시오.
Sparhawk

그건 그렇고 그것은 나에게 유용했다 :)
Francesco

걱정 마. 그것이 부분적으로 (이 메타에 따라 ) 이것을 닫으려고 투표하지 않는 이유는 무엇입니까?
Sparhawk

답변:


16

Meld 3.16.4 이상에서는 다른 색 구성표를 지원합니다.

참조 Meld > Preferences:

우선권

(이 변경 사항은 이전 버전에서 도입되었을 수 있습니다)

참고 :
CLI로 Meld에 대한 특정 테마를 강제 실행할 수도 있습니다.GTK_THEME=Adwaita:dark meld


4

Meld 3.12.1에서 소개 된 회귀 인 것 같습니다. meld 웹 사이트 에서 이전 버전을 다운로드했습니다 .

Melt 3.12.0이 잘 작동합니다. 3.12.0

Melt 3.12.1은 그렇지 않습니다. 여기에 이미지 설명을 입력하십시오

나는 개발자들에게 연락하여 실제로 gtk + 3 포트에 소개 된 회귀라고 말했습니다. 그들은 방금 출시 된 3.12.3을 시도해 보라고 제안했습니다. (그러나 여전히 새 계정에서 멜 드가 작동하는 이유를 완전히 설명하지는 않습니다.)


3.12.0을 실행 한 후에도 Meld 3.12.1이 여전히 동일합니까?
Graeme

@Graeme 네, 그렇습니다. 아마 중요하지는 않지만 압축되지 않은 파일에서 직접 실행했습니다.
Sparhawk

두 버전간에 다른 Gnome 종속성이 있습니까? 어떤 배포판을 사용하고 있으며 어떻게 설치하고 있습니까?
Graeme

@Graeme 저는 공식 저장소에서 설치하여 Arch를 사용하고 있습니다. 두 버전의 모든 종속성은 동일합니다.
Sparhawk

1
@Graeme 나는 대답을 업데이트했습니다.
Sparhawk

3

내가한다면 locate -b meld | grep home, 언급하지 않은 3 개의 디렉토리를 얻는다;

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

하나 ~/.local/share는 로컬 비교의 역사 인 것처럼 보이지만 다른 두 디렉토리에는 xml파일이 있습니다. 나는 그것들을 제거하려고 시도 할 것입니다.

그래도 작동하지 않으면 meld다음과 같이 어떤 파일을 읽는지 정확하게 볼 수 있습니다 .

strace -e trace=file meld |& grep home

결과물을 살펴보면 다른 조사 할 것이있을 것이다.

다른 사용자 계정을 만들고 로그인하고 meld를 실행하려고 시도하지 못했습니다. 그것이 ok로 표시되면, 도트 파일 / 환경 변수를보고 자신의 계정과 비교할 수 있습니다. 데스크탑 환경에서 기본 도트 파일을 작성할 수있는 기회를 얻 su거나 사용하지 말고 X를 통해 로그인해야 sudo합니다. 루트로 실행할 때 평범한 것처럼 보일 수 있습니다.

그중 아무것도 작동하지 않으면 항상 Diffuse 를 포기하고 사용할 수 있습니다 . 나는 아직 제대로 테스트하지 않았지만 meld할 수없는 몇 가지 작업을 수행합니다 (디렉토리 비교가 없으므로 대체 할 수는 없습니다). :)

최신 정보

문제가되는 파일을 추적하기 위해 새 계정의 도트 파일을 이전 파일과 비교할 수 있습니다. 불행히도 새 계정의 거의 모든 도트 파일이 될 수 있으므로 다른 응용 프로그램 (특히 웹 브라우저)을 더 이상 만들거나 바꾸지 않으므로 실행하지 않는 것이 중요합니다. 파일을 비교하려면 새 계정에서 다음과 같이 실행하십시오.

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

다른 것들은 Meld로 더 자세히 조사 할 수 있습니다. 이 방법으로 아무 것도 생성하지 않으면 제거하기 어려운 파일이있을 수 있습니다. strace두 계정으로 돌아가서 출력을 비교해 볼 수 있습니다.


자세한 전략은 +1입니다. 아직 작동하지는 않았지만 지금까지의 결과는 다음과 같습니다. 제안 된 두 디렉토리를 삭제 한 후 meld를 다시 시작해도 작동하지 않았습니다. strace다음 후보를 공개 : ~/.config/gtk-3.0/settings.ini, ~/.config/oxygen-gtk, ~/.kde4/share/config/kdeglobals, /home/lee/.kde4/share/config/oxygenrc. 첫 번째 시도는 이미 시도되었지만 나머지는 삭제하지 못했습니다. 다음에 새 계정을 만들어 보겠습니다.
Sparhawk

새 계정을 만들었는데 텍스트가 잘 보입니다. 질문에 따라 환경 변수 ( export | grep -i gtk)를 살펴 보았지만 작동하지 않는 원래 계정에 다음과 같은 것이 유일한 차이점이었습니다 declare -x GTK_IM_MODULE="xim". 어떤 파일을 검색해야할지 잘 모르겠습니다. 이름 이 gtk있거나 meld이름이있는 파일을 검색 했지만 이미 테스트 한 위의 파일 만 찾았습니다.
Sparhawk

@Sparhawk가 업데이트되었습니다. 나는 그것이 어떤 차이를 만들지 의심하지만 unset GTK_IM_MODULE, 명령 줄 에서 수행 한 다음 meld동일한 쉘에서 실행 하는 데 아무런 해가 없습니다 .
Graeme

내 답변을 업데이트했습니다.
Sparhawk


1

meld.css를 그곳에 덮어 쓰면 어두운 테마로 Meld를 ​​사용할 수 있습니다 https://wiki.gnome.org/Apps/Meld/DarkThemes


어두운 테마를 사용하고 싶지 않았습니다. 이 질문은 테마 전체를 변경하는 것이 아니라 특정 요소, 즉 공통 선에 관한 것입니다. 허용 된 답변에 따라 그 이후 수정 된 회귀였습니다.
Sparhawk

가치가있는 것 ... 나의 목적을 위해 이것은 완벽한 해답입니다-gtk를 어두운 테마로 바꾸는 것은 텍스트를 읽을 수없는 텍스트로 만드는 훌륭한 일을합니다
Dmitri DB
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.