환영합니다, Rolling Ress의 카루입니다.
아치리눅스 설치가 모두 끝났죠. 이제는 시스템을 좀 더 편리하게 사용하고, 안정화하기 위한 작업들을 진행하도록 하겠습니다. 꼭 필요하진 않지만, 개개인에 따라 충분히 유용할 수 있는 기능들입니다. 천천히 보면서 자신에게 맞는 설정을 적용해주세요.
목차
- LTS 커널 설치
- 유용한 프로그램 설치
- 기타 설정 및 프로그램
- 유용한 설정들
LTS 커널 설정
https://kernel.org 은 리눅스 커널을 모아둔 곳입니다. 대부분의 배포판들은 리눅스 커널을 가져다가 커스텀하거나 해서 사용하죠. 아치의 경우엔 kernel.org에 있는 모든 커널을 AUR또는 기본 저장소에서 받을 수 있습니다.
Mainline은 현재 개발중인 커널입니다. 아직 안정화 전이므로 고급 사용자가 아니라면 함부로 다운받지 않는 것을 추천드립니다. AUR에 linux-mainline이라는 패키지로 들어있습니다. 이 외에도 실제로 우리가 사용하는 리눅스 커널은 stable 버전입니다. 최소한의 안정화만 거치고 Testing에서 Core 저장소로 내려옵니다. 놀랄 만큼 업데이트가 빠르죠.
조금 더 안정적인 시스템을 구축하고 싶다면, LTS 패키지를 설치하시면 됩니다.
$ sudo pacman -Syu linux-lts{,-headers}
GRUB을 사용하신다면 설정 파일만 업데이트 하면 되나, 저처럼 systemd-boot를 사용하신다면 엔트리를 새로 생성해주어야 합니다.
$ sudo cp /boot/loader/entries/arch.conf /boot/loader/entries/archlts.conf
$ sudo nano !$
## /boot/loader/entries/arch-lts.conf
title Arch Linux LTS
linux /vmlinuz-linux-lts
initrd /intel-ucode.img
initrd /initramfs-linux-lts.img
options root=UUID=XXXXXXXXXXXXXX rw
3번째 줄에서 AMD CPU를 사용하신다면 amd-ucode로 바꿔주시고, root 파티션의 UUID도 자신의 파티션에 맞게 수정해주시면 됩니다. 아마 기존 arch.conf를 복사했다면 title과 linux, initrd만 수정해주시면 될 겁니다.
$ sudo nano /boot/loader/loader.conf
## /boot/loader/loader.conf
default archlts # 또는 @saved
timeout 0
console-mode max
editor 0
부트로더 기본값을 설정합니다. 이렇게 하면 기본값이 LTS 커널로 선택됩니다. 일반 커널로 부팅하고자 하는 경우, 전원 버튼을 누름과 동시에 스페이스바를 꾹 누르고 있으면 커널을 선택할 수 있습니다.
$ bootctl list
$ sudo bootctl set-default archlts.conf
$ bootctl list
$ reboot
처음에는 그냥 Arch Linux가 (defualt)로 표시되어 있을 겁니다. 기본값을 다시 설정하고 확인합니다. 확인이 되었으면 재부팅합니다. 이제 linux, linux-headers 패키지를 삭제하고 systemd-boot에서 arch.conf를 삭제하면 stable 커널은 완전히 삭제됩니다.
유용한 프로그램 설치
1. The Fuck 설치
$ sudo pacman -S thefuck
명령어를 잘못 입력했을 때, 자동으로 고쳐주는 프로그램입니다. 단순한 철자오류부터 sudo를 빼먹었다든가, 이러한 상황에서 굉장히 auto correction을 잘 해줍니다.
$ fuck
$ fuck
$ source ~/.bashrc # bash 사용시
$ source ~/.zshrc # zsh 사용시
참고로 저 fuck은 꼭 두 번 쳐야 합니다(...) fuck을 두 번 실행시킨 후 bashrc / zshrc를 새로고침하면 사용할 수 있습니다.
pacman을 pacmna으로 잘못 입력했군요. 이럴 때 fuck을 입력해주면 됩니다. 사실 이 정도는 zsh 확장으로 자동으로 sudo를 입력해주기도 하지만, 뭐.. 저는 익숙한 거 쓰겠습니다. 이쪽이 더 손맛이 좋기도 하고요. 이 뿐만 아니라 위/아래 방향키로 다른 명령어 제안을 확인할 수도 있습니다. 올바르면 엔터 키를 눌러서 계속 진행할 수 있고, 종료하고 싶으면 ^C를 누르면 됩니다. 참.. 쓰면서 계속 정신나간 프로그램이라는 생각을 지울 수가 없네요. 심지어 정확도까지 높습니다. 이걸 잘 이용하면 Command not found 에러가 났을 때 자동으로 fuck을 실행시킬 수도 있겠네요.
2. Howdy 설치 (FaceID / Windows Hello)
$ yay -S howdy v4l-utils
macOS에 Face ID가 있고 윈도우에 Windows Hello가 있다면 리눅스에는 Howdy가 있습니다.
$ sudo nano /etc/pam.d/gdm-password
## /etc/pam.d/gdm-password
#%PAM-1.0
auth sufficient pam_unix.so try_first_pass likeauth nullok
auth sufficient pam_python.so /lib/security/howdy/pam.py
...
얼굴인식으로 잠금을 해제하고 싶다면 위 파일을 이렇게 수정합니다. 다만 이 경우 GNOME에서 Login Keyring이 언락되지 않았다면서 수시로 패스워드를 물어봅니다. 이게 조금 짜증이 나서 저는 다시 끄고 사용중입니다.
$ sudo nano /etc/pam.d/sudo
1: 비밀번호 입력 없이 처음부터 얼굴인식을 하고 싶은 경우
## /etc/pam.d/sudo
#%PAM-1.0
auth sufficient pam_python.so /lib/security/howdy/pam.py
위와 같이 수정하시면 됩니다. 이게 은근 쓸만합니다.
2: 비밀번호 입력에 실패하거나, 입력하지 않으면 얼굴인식을 하는 경우
## /etc/pam.d/sudo
#%PAM-1.0
auth sufficient pam_unix.so try_first_pass nullok
auth optional pam_permit.so
auth required pam_env.so
auth sufficient pam_python.so /lib/security/howdy/pam.py
위와 같이 수정하시면 됩니다. 조금 복잡합니다.
$ v4l2-ctl --list-devices
여기서 자신의 카메라를 확인해주세요. /dev/videoX인데, 저는 video0이 일반 카메라, video2가 IR 카메라였습니다. IR 카메라 번호를 기억하세요. 아시겠지만 작동시켰을 때 빨간 불이 깜박거려야 IR 카메라입니다.
$ sudo howdy config
...
# The path of the device to capture frames from
# Should be set automatically by an installer if your distro has one
device_path = /dev/videoX
...
# 또 수정하면 좋은 것들
certainty = 5
timeout = 5
dark_threshold = 80
X는 각자 디바이스에 맞게 수정해주세요.
$ sudo howdy add
얼굴을 추가하면 끝입니다.
기타 프로그램 설치
$ sudo pacman -S libreoffice-fresh gimp inkscape firefox
$ sudo pacman -S thunderbird vlc shotcut audacity virtualbox{-host-modules-arch}
$ sudo pacman -S obs-studio discord youtube-dl uget focuswriter gparted
$ yay -S google-chrome kazam timeshift (timeshift-autosnap) visual-studio-code-bin
리눅스용 프로그램
|
윈도우용 프로그램
|
리눅스용 프로그램
|
윈도우용 프로그램
|
libreoffice-fresh
|
Microsoft Office
|
gimp
|
Adobe Photoshop
|
inkscape
|
Adobe Illustrator
|
firefox
|
firefox
|
thunderbird
|
Microsoft Outlook
|
vlc
|
(미디어 플레이어)
|
shotcut
|
Adobe Premire Pro
|
audacity
|
(오디오 편집)
|
virtualbox
vmware-workstation
|
virtualbox
vmware workstation
|
obs-studio
|
OBS
|
discord
|
discord
|
youtube-dl
|
|
uget
|
|
focuswriter
|
|
gparted
|
diskmgmt.msc
|
google-chrome
|
Google Chrome
|
timeshift
|
(백업 프로그램)
|
hoffice
|
한컴오피스
|
이 외에도 kde 환경에서 사용 가능한 kdewallet이나 kdeconnect 등이 있는데, 이건 kde-applications에 함께 포함되어 있습니다.
기타 설정
1. pacman 설정
pacman은 아치리눅스의 패키지 매니저입니다. PACkage MANager의 약자이고, 특징이라면 역시 아치리눅스답게 공식 GUI 프론트엔드가 없다는 겁니다. 사용법도 dnf install, apt search 등 직관적인 다른 패키지 매니저와 달리 pacman -S, pacman -Qdtq, pacman -Rns 등 복잡한 옵션을 사용합니다. 그럼에도 불구하고, 잘만 쓴다면 엄청나게 많은 기능을 사용할 수 있습니다.
$ sudo nano /etc/pacman.conf
pacman의 설정 파일을 편집해봅시다.
Color와 VerbosePkgLists, ParallelDownloads 앞의 주석을 해제하고, 그 다음 줄에 ILoveCandy를 추가해주세요. 대소문자에 유의하시기 바랍니다. Color는 pacman 출력에서 색상을 표시하고, VerbosePkgLists는 패키지를 나열만 하는 게 아니라 각각의 사이즈, 버전 등을 표 형식으로 출력해줍니다. ParallelDownloads는 병렬로 다운로드할 패키지 개수, ILoveCandy는 '[####---]' 형태의 바가 아닌 진짜 팩맨이 움직이는 것 같은 효과를 줍니다.
$ sudo pacman -S reflector rsync
$ sudo cp /etc/pacman.d/mirrorlist{,.bak}
$ sudo reflector -c "KR" -f 7 -l 5 -n 7 --save /etc/pacman.d/mirrorlist
그리고 (1)번 글에서 했듯, reflector를 사용하여 미러리스트를 업데이트 해줍니다.
2. Fractional Scaling
>> 경고: Fractional Scailing은 꼭 필요한 경우가 아니면 사용하지 마시길 바랍니다.
GNOME이 HiDPI 지원이 잘 되기는 하는데, 문제는 100%p 단위로만 설정할 수 있습니다. 아직 정식 기능은 아니지만, 실험적으로 Fractional Scaling (=정수가 아닌 비율: 125%, 150%, 175%, ...)을 활성화할 수 있습니다. X11에서는 mutter-x11-scaling (AUR)을 설치하고, Wayland에서는 다른 설정을 조금 만져주면 됩니다.
# Wayland
$ gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"
다만 문제가 하나 있습니다. Wayland를 네이티브로 지원하는 앱들은 괜찮아요. 근데 X11 기반의 앱들은 Xorg - Xwayland - Wayland를 거쳐서 그려집니다. 이 과정에서 멀쩡히 잘 돌아가던 앱들이 Fractional Scaling을 켜기만 해도 (켠 상태에서 200% 등 정수 비율로 설정하더라도) 엄청 흐려집니다. 심지어 GParted같은 앱들도 Wayland를 지원하지 않는지 엄청 흐립니다. 그나마 다행인 건 터미널이나 기본 웹 브라우저 등 자주 사용하는 것들은 선명하게 출력됩니다. 따라서, Wayland를 지원하는 앱들은 강제로 Wayland 모드로 구동되게끔 설정해주세요.
3. 터치패드 탭, 우클릭, 스크롤
GNOME Tweaks에서 Keyboard & Mouse > Mouse Click Emulation > Area로 설정해주세요. 처음에는 Fingers로 되어 있는데, Area로 바꾸어야 왼쪽/오른쪽 클릭이 됩니다. 물리적으로 터치패드에 왼쪽/오른쪽 키가 나뉘어 있는 경우에는 이 옵션을 사용할 필요가 없습니다. 또한 두 손가락 스크롤을 사용하면 스크롤이 반대로 되는 경우가 있는데, 이것도 각 DE 설정 화면에서 변경이 가능합니다.
4. sudo 경고문 활성화
sudo를 입력할 때 항상 위와 같은 안내가 나오도록 합니다. 솔직히 전혀 필요 없는 기능이긴 한데, 멋있잖아요.
$ sudo sh -c 'echo "Defaults lecture = always" > /etc/sudoers.d/privacy'
Defaults 뒤에는 탭(\t) 입니다. 이제 앞으로 sudo를 실행할 때마다 저 경고문을 볼 수 있습니다.
5. UEFI 쉘 엔트리
$ sudo pacman -S edk2-shell
$ sudo cp /usr/share/edk2-shell/x64/Shell_Full.efi /boot
$ sudo nano /boot/loader/entries/shell.conf
systemd-boot를 사용한다고 가정합니다. 이때 UEFI 쉘을 부트 메뉴 엔트리에 추가할 수 있습니다. GRML을 실행시키거나 할 때 유용하게 쓸 수 있습니다. 마치 리눅스를 하나의 응용 프로그램처럼 실행하는 기분을 느껴보세요.
## /boot/loader/entries/shell.conf
title UEFI Shell efi /Shell_Full.efi
이렇게 하면 엔트리가 생성됩니다. 이 외에도 efifs 패키지를 설치한 뒤 드라이버 폴더를 /boot/EFI/systemd/drivers에 넣으라는 얘기도 있던데, 이것 때문인진 모르겠지만 UEFI 쉘에서 ext4 파티션에 접근이 가능했습니다. 이 부분은 문서가 없어서 시행착오를 많이 해야 할 것 같네요.
6. GRML Live Linux
문제가 생겼을 상황을 대비해서, 라이브 시스템을 컴퓨터에 내장시킬 수 있습니다. 제 경우는 종종 윈도우에서 EFI 파티션을 꼬아버려 리눅스 커널이 잘리는(...) 대참사가 종종 일어나곤 하는데, 그럴 때마다 아치리눅스 미디어에서 fsck, mount, chroot, pacman -S linux 계속 하는 게 너무 귀찮더라고요. 사실 명령어 몇 줄은 입력할 수 있어요. 문제는 그때마다 USB를 꽂아야 한다는 거.
그럴 때 쓰는 게 GRML입니다. 이건 원래 EFI 파티션에 내장해서 쓸 수 있는데, 사이즈가 좀 커서 EFI가 1GB 이상일 때만 정상적으로 동작합니다. 그게 아니라면 편법을 써야 해요. 우선 grml iso를 다운받아 루트 디렉터리에 풀어준 뒤, /grml 폴더에 vmlinuz, initrd.img, grml64-small.squashfs 파일만 남겨줍니다.
$ sudo nano /boot/grml.nsh
## /boot/grml.nsh
BLK6:\grml\vmlinuz initrd=\grml\initrd.img apm=poweroff boot=live live-media-path=\grml\ nomce net.ifnames=0
그리고 UEFI 쉘코드를 작성해줍니다.
$ sudo nano /boot/loader/entries/grml.conf
## /boot/loader/entries/grml.conf
title GRML Live Linux
efi /Shell_Full.efi
options -nointerrupt -noconsolein -noconsoleout grml.nsh
마지막으로 systemd-boot에서 엔트리를 추가해주면 됩니다.
7. 관상용 프로그램
$ sudo pacman -S cmatrix && cmatrix
해커가 되는 기분을 느낄 수 있습니다.
$ sudo pacman -S asciiquarium && asciiquarium
어항을 가져다 놓은 기분을 느낄 수 있습니다.
기타 재미있는 명령은 아래에서 확인할 수 있습니다.
추가 팁
- 가끔가다 터미널이 멈추는 경우가 있습니다. 특히 Nano를 쓰다 무심코 Ctrl+S를 눌렀을 때 발생하는데, Ctrl+Q를 누르면 해제시킬 수 있습니다.
- 파일을 읽는 프로그램은 몇 가지가 있습니다. cat은 통째로 보여주고, less 또는 more은 한 화면에 다 나오지 않는 파일을 볼 때 유용하게 쓸 수 있습니다. 아주 짧은 파일을 잠깐 보기만 할 때, 혹은 grep을 사용할 때는 cat이 좋고, 텍스트를 읽기만 할 때는 less나 more, 편집까지 할 때는 nano나 vim이 좋습니다.
- 제가 늘 하는 거, !$이죠. 윗 줄에서 사용한 마지막 매개변수를 그대로 사용할 때 씁니다. 이 외에도 Alt 키를 누른 상태에서 '.'을 몇 번 눌러도 비슷한 효고를 볼 수 있습니다. 만약 윗 줄 전체를 사용해야 할 때는 !!을 사용합니다.
- 터미널에서 복사, 붙여넣기는 Ctrl+Shift+C, Ctrl+Shift+V를 사용합니다. 검색은 Ctrl+Shift+F입니다. 그냥 Ctrl+C는 프로그램을 죽여버려요.
- 파일을 지우지 않고 비워버릴 수 있습니다. 특히 아주 큰 파일을 삭제할 때 유용합니다. 다만 파일을 잘 확인하고 사용하세요.
$ > file
'Linux' 카테고리의 다른 글
Arch Linux 설치 가이드 2: Wayland GUI 환경설정과 드라이버 설치 (2) | 2024.09.30 |
---|---|
Arch Linux 설치 가이드 1: 파티션 분할과 부트로더 설치까지 (5) | 2024.09.30 |