몇 달 전부터 meld
이상한 행동을 하기 시작했습니다. 일반적인 선은 거의 읽을 수 없으며 검정색 배경에 어두운 회색 텍스트로 나타납니다.
kdesudo meld
이상하게 도 테마가 그다지 예쁘지는 않지만 루트로 실행하면 작동합니다(사용함 ).
혼합된 텍스트의 색상 옵션을 지정하는 방법은 무엇입니까?
나는 다음을 사용하고 있습니다 :
- 아키텍처Linux
- KDE 4.14.3 (4.14.2에서도 볼 수 있음)
- Fusion 3.12.2(3.12.1에도 표시됨)
- gtk3 3.14.6(3.14.5에서도 볼 수 있음)
문제 해결
KDE 시스템 설정
meld
GTK3를 사용하여 시스템 설정 > 일반 모양 및 동작 > 애플리케이션 모양 > GTK > GTK3 테마 선택을 조작했습니다. 이 변경 사항은 병합에 반영되지만 선택한 세 가지 옵션 중 어느 것도 텍스트를 변경하지 않았습니다. (사용 가능한 옵션은 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
흥미롭게도 이름에는 with가 없습니다 /root
. 그래서 ~
사용자에게 동일한 효과를 얻을 수 있는지 확인하기 위해 일부 파일을 삭제해 보았습니다 . 모든 gtkrc-2.0
파일은 병합과 관련이 없다고 생각합니다 .
처음에는 삭제했지만 ~/.config/gtk-3.0
아무런 효과가 없었고 멜드를 열었을 때 다시 생성되었습니다.
유일한 다른 옵션은 인 것 같아서 ~/.kde4/share/config/gtkrc
이를 제거하고 멜드를 시작했는데 이는 영향을 받지 않았습니다. 그러나 파일은 다시 생성되지 않으며 관련될 수 있는 일부 줄이 포함되어 있습니다(예 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 포럼, 그러나 해결책을 찾지 못했습니다. )
답변1
답변2
그냥 업데이트하자...
버전 3.18에는 테마 변경에 대한 기본 설정이 표시되지 않습니다.
하지만 dconf-editor를 통해 meld 구성에 액세스하고 스타일 화학을 'meld-dark'로 설정할 수 있습니다... 그러면 좋습니다!
거의 다음과 같습니다.https://linux.m2osw.com/no-meld-preferences-menu
답변3
이렇게 하면 locate -b meld | grep home
언급하지 않은 세 개의 디렉터리를 얻게 됩니다.
~/.gconf/apps/meld
~/.gconf/apps/gnome-settings/meld
~/.local/share/meld
방금 것은 ~/.local/share
로컬 비교 내역인 것 같은데, xml
다른 두 디렉터리에 파일이 있습니다. 나는 그것들을 삭제하려고 노력할 것입니다.
그래도 작동하지 않으면 다음을 meld
통해 정확히 어떤 파일을 읽었는지 확인할 수 있습니다.
strace -e trace=file meld |& grep home
출력을 검토하면 조사할 추가 콘텐츠가 나올 것으로 예상됩니다.
실패하면 다른 사용자 계정을 만들고 로그인한 다음 거기에서 meld를 실행하려고 합니다(다른 작업은 수행하지 않음). 문제가 없으면 거기에 있는 도트 파일/환경 변수를 보고 자신의 계정과 비교할 수 있습니다. 다음 su
을 통해 sudo
로그인 해야 합니다.
이 중 아무것도 작동하지 않으면 언제든지 포기하고 사용할 수 있습니다.확산대신에. 나는 그것을 직접 제대로 테스트하지는 않았지만 meld
수행할 수 없는 몇 가지 작업을 수행합니다(디렉토리 비교가 없으므로 정확히 대체할 수는 없습니다). :)
고쳐 쓰다
문제가 있는 파일을 추적하려면 새 계정의 도트 파일을 이전 계정과 비교해 보세요. 불행하게도 새 계정에는 거의 모든 도트 파일이 있을 수 있으므로 다른 애플리케이션(특히 웹 브라우저)을 실행하지 않는 것이 중요합니다. 이렇게 하면 더 많은 항목이 생성/변경될 수 있기 때문입니다. 파일을 비교하려면 새 계정에서 다음과 같은 작업을 실행해 보세요.
find . -type f -exec cmp {} /home/your_account/{} \;
다른 경우에는 Meld를 사용하여 더 자세히 조사할 수 있습니다. 결과가 나오지 않으면 삭제하려는 파일 중 찾기 어려운 파일이 있을 수 있습니다. 돌아가서 strace
두 계정의 출력을 비교해 볼 수 있습니다.
답변4
meld.css를 거기에 있는 것으로 재정의하면 어두운 테마로 Meld를 사용할 수 있습니다.https://wiki.gnome.org/Apps/Meld/DarkThemes