나는 하드웨어 오류로 인해 5년 넘게 사랑받는 Gentoo 설치를 잃은 후 FreeBSD로 전환했습니다. 나는 이것이 소스 코드 기반 운영 체제를 탐색하고 사용하는 데 있어 다음 논리적 단계라고 생각합니다. 다 읽고 나면FreeBSD 관련 문서, XOrg 서버를 설치할 때,5.6 - XOrg 섹션에서 글꼴 사용내 주목을 끌었다. 나는 다음 줄을 추가한 적이 없다는 것을 깨달았습니다.
Section "Files"
FontPath "/usr/share/fonts/...."
EndSection
이제 젠투 설치에 있는 모든 글꼴에 대해 DE가 형편없어 보이는 이유를 이제 이해합니다. 장애인 한 손 타이피스트로서 타이핑을 수동으로 편집하기가 더 어려워지고 Files Section
최후의 수단으로 수동으로 글꼴을 추가하는 것을 선호합니다. 그렇다면 내가 아직 찾지 못한 누군가가 만든 도구나 여기 독자들이 정말 잘 만드는 멋진 쉘 스크립트 등을 사용하여 파일 섹션에 출력을 추가하는 방법이 있습니까 fc-list : file
?xorg.conf
노트nvidia-xconfig
: 예전에는 파일을 생성하는 방식을 사용했기 xorg.conf
때문에 오늘날 권장되는 모듈식 접근 방식과는 거리가 멀습니다. 필요한 경우 conf.d 메소드를 생성된 구성과 혼합하고 일치시킬 수 있습니까?
답변1
질문을 이해하고 시스템에 vim이 설치되어 있는 경우( vi
단지 명령이므로 작동함 ex
)
터미널에서 다음 명령을 실행하면 다음과 같습니다.
- 파일을 읽으려면:
xorg.conf
- 분명히 수정하려는 파일로 바꾸십시오. 참고: 이 파일xorg.conf
은아니요스크립트에 문제가 있는 경우 수정하세요. - 텍스트 조작을 해보세요
- 명령의 출력은 파일에 저장됩니다.
/tmp/temp_xorg.conf
이러한 작업 후 상태에 만족하면 /tmp/temp_xorg.conf
실제 작동하는 xorg 구성 파일의 위치에 복사할 수 있습니다.
명령 실행
xorg conf 파일에 넣을 수 있는 형식으로 글꼴 경로 디렉터리를 생성하려면 쉘 프롬프트에서 이 명령을 실행하세요(이 명령을 제공한 @meuh에게 감사드립니다).
fc-list : file | sed -E 's#(.*)/.*#\tFontPath "\1"#' | sort -u > /tmp/filepaths.txt
그런 다음 위 명령의 출력을 가져와 파일 섹션에 삽입하는 이 명령을 실행합니다.
$ vim -e xorg.conf << 'EOF'
" move cursor to the line with the text: `Section "Files"`
/Section "Files"
" read in the output of `fc-list` at this point
r !fc-list
write /tmp/temp_xorg.conf
EOF
예를 들어 xorg.conf
다음과 같은 경우:
Section "InputClass"
Identifier "trackpoint catchall"
MatchIsPointer "true"
MatchProduct "TrackPoint|DualPoint Stick"
MatchDevicePath "/dev/input/event*"
Option "Emulate3Buttons" "true"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection
Section "Files"
Identifier "trackpoint catchall"
MatchIsPointer "true"
MatchProduct "TrackPoint|DualPoint Stick"
MatchDevicePath "/dev/input/event*"
Option "Emulate3Buttons" "true"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection
Section "InputClass"
Identifier "trackpoint catchall"
MatchIsPointer "true"
MatchProduct "TrackPoint|DualPoint Stick"
MatchDevicePath "/dev/input/event*"
Option "Emulate3Buttons" "true"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection
위의 명령을 실행한 후 /tmp/temp_xorg.conf
다음과 같아야 합니다.
Section "InputClass"
Identifier "trackpoint catchall"
MatchIsPointer "true"
MatchProduct "TrackPoint|DualPoint Stick"
MatchDevicePath "/dev/input/event*"
Option "Emulate3Buttons" "true"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection
Section "Files"
FontPath "/home/ubuntu/.fonts"
FontPath "/usr/share/fonts/opentype/noto"
FontPath "/usr/share/fonts/opentype/stix"
FontPath "/usr/share/fonts/opentype/stix-word"
FontPath "/usr/share/fonts/truetype"
FontPath "/usr/share/fonts/truetype/abyssinica"
FontPath "/usr/share/fonts/truetype/ancient-scripts"
FontPath "/usr/share/fonts/truetype/dejavu"
FontPath "/usr/share/fonts/truetype/fonts-guru-extra"
FontPath "/usr/share/fonts/truetype/freefont"
FontPath "/usr/share/fonts/truetype/kacst"
FontPath "/usr/share/fonts/truetype/kacst-one"
FontPath "/usr/share/fonts/truetype/lao"
FontPath "/usr/share/fonts/truetype/lato"
FontPath "/usr/share/fonts/truetype/liberation"
FontPath "/usr/share/fonts/truetype/lohit-punjabi"
FontPath "/usr/share/fonts/truetype/nanum"
FontPath "/usr/share/fonts/truetype/openoffice"
FontPath "/usr/share/fonts/truetype/padauk"
FontPath "/usr/share/fonts/truetype/sinhala"
FontPath "/usr/share/fonts/truetype/takao-gothic"
FontPath "/usr/share/fonts/truetype/tibetan-machine"
FontPath "/usr/share/fonts/truetype/tlwg"
FontPath "/usr/share/fonts/truetype/ttf-khmeros-core"
FontPath "/usr/share/fonts/truetype/ubuntu-font-family"
FontPath "/usr/share/fonts/type1/gsfonts"
FontPath "/usr/share/fonts/X11/Type1"
Identifier "trackpoint catchall"
MatchIsPointer "true"
MatchProduct "TrackPoint|DualPoint Stick"
MatchDevicePath "/dev/input/event*"
Option "Emulate3Buttons" "true"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection
Section "InputClass"
Identifier "trackpoint catchall"
MatchIsPointer "true"
MatchProduct "TrackPoint|DualPoint Stick"
MatchDevicePath "/dev/input/event*"
Option "Emulate3Buttons" "true"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection
답변2
질문의 "혼합 및 일치" 구성 부분에 대한 대답은 "일종의"입니다.
매뉴얼 xorg.conf
페이지에는 "동일한 정보가 여러 가지 방법으로 제공되는 경우 우선 순위가 가장 높은 메커니즘이 사용됩니다"라는 내용과 함께 우선 순위에 따라 구성 소스가 나열되어 있습니다.
관찰에 따르면(맨 페이지에 "동일한 정보"와 "한 가지 이상의 방법"이 명확하게 정의되어 있지 않기 때문에) 이는 우선 순위가 낮기 때문에 파일을 사용하여 xorg.conf
(예: 글꼴) Section "Files"
섹션을 덮어쓰거나 업데이트할 수 없음을 의미합니다. xorg.conf.d
. 우선순위가 낮은 파일을 읽고 구문 분석하더라도 우선순위가 높은 섹션이 이미 존재하는 파일의 경우 섹션 내용이 자동으로 무시됩니다.
현재 Nvidia 드라이버(396, Linux에만 해당)하다이제 조각이 사용되지만 xorg.conf.d
Linux DRM Xorg 드라이버에만 사용됩니다. 이 드라이버는 설치 중에 여전히 거의 단일체에 가까운 조각을 생성합니다 xorg.conf
.
다행히 이 섹션은 변경되지 않으므로 nvidia-xconfig
도움이 되면 주석 처리하고 하나 이상의 파일 xorg.conf
로 이동할 수 있습니다. xorg.conf.d
동일한 우선순위를 가진 여러 개의 중복 항목(즉, 모두 단일 xorg.conf.d
디렉터리에 있음)하다결과는 예상대로 병합된 값입니다.
지침을 생성하는 간단한 방법은 다음과 같습니다.
fc-list -f 'Fontpath "%{file|dirname}"\n' : | sort -u
이는 형식화된 출력( -f
) 을 사용하여 각 글꼴의 파일 이름인 fc-list
필수 구성 라인을 생성하고%{file}
|dirname
필터디렉터리 이름( dirname
셸 명령과 정확히 동일)과 sort -u
고유 경로를 인쇄합니다. 글꼴이 많으면 경로 순서를 바꿀 수 있고, 비트맵 버전이 있으면 다음을 수행하여 순서를 바꿀 수 있습니다.
fc-list -f ' Fontpath "%{file|dirname}"\n' :scalable=true | sort -u
fc-list -f ' Fontpath "%{file|dirname}"\n' :scalable=false | sort -u
원하는 경우 이 출력을 붙여넣을 수 있습니다. 또는 모든 단계의 예로(루트로)
# extract Files section from xorg.conf to a separate conf
sed -n '/^Section..Files/,/^EndSection/p' \
< /etc/X11/xorg.conf > /etc/x11/xorg.conf.d/10-section-files.conf
# comment out Files section in xorg.conf
sed -i.bak '/^Section..Files/,/^EndSection/ s/^/#/' /etc/X11/xorg.conf
# paths for scalable fonts
( echo 'Section "Files"';
fc-list -f ' Fontpath "%{file|dirname}"\n' :scalable=true | sort -u;
echo 'EndSection' ) > /etc/X11/xorg.conf.d/20-fontpath.conf
# paths for non-scalable fonts
( echo 'Section "Files"';
fc-list -f ' Fontpath "%{file|dirname}"\n' :scalable=False | sort -u;
echo 'EndSection' ) > /etc/X11/xorg.conf.d/30-fontpath-fixed.conf
필요한 경우 중복 항목을 재정렬하고 제거한 다음 X를 다시 시작하십시오.
완전성을 위해 즉석에서 글꼴 경로를 수정할 수도 있습니다 xset
.
xset +fp /usr/local/share/fonts/TTF
현재 경로를 확인하는데 사용합니다 xset q
. .xinitrc
글꼴 경로가 후속 X 구성 변경과 관계없이 유지되고 X를 다시 시작할 때 저장할 수도 있도록 스크립트 에 이러한 명령을 추가하도록 간단히 수정할 수 있습니다.