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.