장작가 연구실

미래의 나를 위해 기록해두는 메모장

View My GitHub Profile

18 December 2021

업무용 우분투 어플리케이션 설치와 설정

Ubuntu 19.10, 20.04 에서 업무용 PC 세팅에 필요한 설정을 정리

우분투 공식 repo 에서 설치하는 프로그램

tilix xpad rednotebook cpupower-gui chromium-browser fonts-noto-color-emoji

글꼴 설치

나눔 폰드와 D2 코딩 폰트를 설치. 이 폰트들이 리눅스에서는 가장 손쉽게 설치 가능하고 가독성도 좋다.

apt install fonts-nanum fonts-nanum-coding fonts-nanum-extra fonts-naver-d2coding

바로가기

바로 가기 설정은 "설정 > 장치 > 키보드 바로가기"에 모여 있다.

Tweak (기능 개선)

gnome-tweak-tool 또는 최근 버전에서는 gnome-tweaks 패키지를 설치하고 아래 세팅 진행. 수 년 동안 몸에 익은 키로 변경한다.

한글입력기

우분투 설치할 때 한글로 설치하면 보통 기본적인 한글 입력 관련 설정을 자동으로 다 들어간다. 그렇게 들어간 설정들도 얼핏 볼 때는 문제 없이 잘 동작하고, 실제로도 크게 문제없이 (불편하기는 하지만…) 동작한다.

우분투 19.10에서도 설치할 때 언어를 한글로 두고 설치했고 설치 후에 오른쪽 알트키를 한글키로 잘 동작하는 듯 하였으나…

오른쪽 알트키 아니고 “Ctrl+Space”로 한영 전환을 하면 둘 다 문제가 없으나, 나는 예전부터 Ctrl+Space가 오타를 많이 내서 싫어하기 때문에 오른쪽 알트키나 한영키를 선호하는 편이다.

이 문제를 해결하기 위해서는 18.04 때부터 써오던 한글입력기인 fcitx로 변경하면 된다. 이 입력기는 원래 중국어 입력기인데 한글입력도 곁다리로 지원을 하는지라, 잘 된다.

fcitx 설치

  1. fcitx-hangul 패키지를 설치한다.
  2. im-config 을 실행해서 fcitx로 입력기를 변경한다.
  3. 리부팅
  4. fcitx-configtool 실행해서, 오른쪽 알트키로 입력기 전환하도록 수정

fcitx를 쓰면 크로미움과 텔레그램에서 아무 문제가 안 생긴다.

fcitx 에서 Ctrl+Space 언어전환을 제거해야 함. insomnia의 자동완성과 충돌.

오른쪽 alt 키를 한영키로 바인딩

Ubuntu 20.04 에서는

그래서 ubuntu 20.04 에서도 여전히 fcitx 사용

libvirtd 이슈

libvirtd 로 guest를 만들어서 쓰는 상황에서 host를 끄는 경우에 libvirtd 의 기본 동작이 guest를 shutdown하는 것인데. 이 시간이 상당히 오래 걸린다. 기본 120초

/etc/default/libvirt-guests 파일에서

ON_SHUTDOWN=suspend

TLP 설치

노트북 배터리를 효율적으로 쓰기 위한 도구. 링크1, 링크2.

tlp 설치

apt install tlp

/etc/tlp.d/00-template.conf 파일을 아래와 같이 수정. 업무용은 보통 AC 파워를 쓰게 되는데, 이런 경우 배터리를 반 정도 충전하는 것이 좋다고 “카더라”. (링크)

# AC 파워 계속 꽂아서 쓰는 경우
START_CHARGE_THRESH_BAT0=40
STOP_CHARGE_THRESH_BAT0=50

# 배터리를 주로 쓰는 경우
#START_CHARGE_THRESH_BAT0=85
#STOP_CHARGE_THRESH_BAT0=90

이렇게 파일 수정 한 이후에

sudo tlp start

완충이 필요한 경우에는 아래와 같이 명령을 주면 AC 파워를 순식간에 당겨서 충전하는 것을 볼 수 있다.

sudo tlp fullcharge BAT0

다시 완충에서 일상적인 AC 파워 쓰는 상황으로 돌아가려면, 단순히 sudo tlp start하면 된다.

X1 extreme GEN3 의 경우 충전이 다 되면 자동으로 AC 전원만 사용하는 것으로 보임

# sudo tlp-stat -b
...
/sys/class/power_supply/BAT0/energy_full                    =  83830 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  41390 [mWh]
/sys/class/power_supply/BAT0/power_now                      =      0 [mW]
...

배터리의 power_now 가 0 이므로, 현재 배터리를 쓰지 않고 있다는 말.

화면 닫았을 때의 절전 모드 전환 방지

회의실 이동할 때 노트북을 닫으면 절전 모드로 변경되어 불편한데, 아래와 같이 설정을 바꾸면 절전으로 바뀌지 않는다.

/etc/systemd/logind.conf 파일 변경

HandleLidSwitchExternalPower=ignore
HandleLidSwitchDocked=ignore
LidSwitchIgnoreInhibited=no
HandleLidSwitch=ignore

외부 화면이 연결된 상태에서 노트북을 닫으면 소위 말하는 클램쉘 모드로 동작.

systemd-logind를 재시작하면 적용되는데, 재시작하면 X가 죽었다가 다시 살아나는 것으로 보이므로 주의. 그냥 리부팅 한번 하는 게 나을 듯.

와콤 태블릿

와콤 태블릿은 별도의 드라이버 설치없이 USB 꽂자 마자 잘 동작한다. USB에 꽂으면 잠시 뒤에 “설정”에 “와콤 디지타이저” 항목이 생기고 각종 설정을 할 수 있다. 지금까지는 CTH-680과 CTL-472를 써 봤는데, 둘 다 아주 잘 된다.

“태블릿 > 트래킹 모드”를 “절대좌표”로 놓고 모니터에 연결하기해서 그림을 그릴 모니터를 지정해 두면, 해당 모니터와 태블릿의 전체 영역이 1:1로 매핑되어서 사용하기 편하다. 특히 아래 화면에 그림 그리기 할 때 좀 더 쉽게 쓸 수 있다.

화면에 그림 그리기

와콤 태블릿을 이용하는 경우 쉽게 화면에 직접 그림을 그릴 수 있다. (링크) 화상 회의를 하면서 그림을 그려서 설명할 일이 있을 때 강추.

sudo apt install gnome-shell-extension-draw-on-your-screen

Alt+F2 에서 r 엔터하면 gnome shell 을 restart 하고 gnome tweaks (기능개선 앱) 에 가보면 등록되어 있음. (gnome-tweak-tools 또는 더 최신버전에서는 gnome-tweaks 로 바뀌었는데, 바뀌면서 gnome extension은 별도 설정 창에서 관리하는 것으로 보임.)

바로가기 키를 알아두면 편한데,

그림 그리기 시작 한 이후에는 다음 바로가기도 편하다.

그림 그리기 도중에 화면 캡쳐도 가능하다.

VPN

Juniper VPN을 쓰는 우리 회사 VPN의 경우에는 다음 패키지를 이용한다.

apt install network-manager-openconnect network-manager-openconnect-gnome

“설정 > 네트워크 > VPN” 등록에서 회사 VPN 도메인 주소를 쓴다.

누구의 문제인지 모르겠으나, VPN 연결이 어느 정도 시간이 지나면 끊어지는 문제가 생긴다면 아래와 같이 수정

# mv /usr/sbin/openconnect /usr/sbin/openconnect.bin

/usr/sbin/openconnect 파일을 아래와 같이 만든다.

#!/bin/bash

/usr/sbin/openconnect.bin --no-dtls "$@"

이렇게 해서 VPN 연결하면 VPN의 DNS를 이용해야 하지만 systemd-resolved 에서 이를 반영하지 못한다. 간단히 systemd-resolved 를 쓰지 않도록 바꾼다.

링크에서 아래 내용 가져옴.

sudo systemctl disable systemd-resolved.service
sudo systemctl stop systemd-resolved

/etc/NetworkManager/NetworkManager.conf 파일에서 [main] 섹션에 아래를 추가

dns=default

심볼릭 링크 /etc/resolv.conf 를 삭제하고 network manager 를 재시작

sudo rm /etc/resolv.conf
sudo systemctl restart network-manager

로그인시에 아이디을 저장해두고 싶다면,

sudo nmcli connection show

로 VPN 연결의 이름을 가져온 다음, 아래 명령의 ID와 VPN 서버 주소를 채워서 실행한다.

sudo nmcli c modify NHN vpn.secrets 'form:frmLogin:username={ID}','lasthost={VPN server domain}','save_passwords=no'

지문 인식 설정

“설정 > 사용자”에 가면 지문 로그인이 있다. 동작은 한다. 근데 매우 느려서 안 쓰게 된다.

그 외에 gnome keyring(?)에 등록해서 쓰는 방법이 있다고 하는데, 터미널에서 못 쓰는 것 같고 터미널에서 쓸 수 있다고 하더라도 느려서 못 쓰겠다.

Runcat eyecandy 설정

이건 그냥..

https://github.com/win0err/gnome-runcat

Eyecandy

온도 체크 https://extensions.gnome.org/extension/841/freon/

출력 장치 바꿔주는 유틸리티

https://extensions.gnome.org/extension/906/sound-output-device-chooser/

가상 배경을 만들어주는 가상 웹캠

https://github.com/fangfufu/Linux-Fake-Background-Webcam 를 쓰면 되는데, CPU 1개를 통으로 써서 노트북 팬이 큰 소리를 내며 돌게 만들기 때문에 잘 안 씀. 리눅스에서도 이런게 되기는 된다 정도로 봐야 할 듯.

sudo modprobe v4l2loopback devices=1 exclusive_caps=1 video_nr=4 card_label="fake-cam"

python3 fake.py -w /dev/video0 -v /dev/video4 -W 1280 -H 720 -F 30 --no-foreground -b ~/사진/DSC_5840.JPG

Samba, 윈도우 VM 과의 삼바 전용 네트워크 설정

Samba 는 취약한 프로토콜이므로 로컬에 있는 윈도우 VM에서만 접근할 수 있도록 설정해두는 것이 좋다. 윈도우 VM 에 NIC을 2개 달고, 하나는 NAT 로 인터넷 사용용도로 쓰고 나머지 하나는 삼바 전용 네트워크로 만들어준다.

여기서는 KVM을 이용하는 방안.

virtual manager 에서 virbr1 을 isolated network (bridge) 로 만듬. virbr1 를 부팅시 활성화하도록 해 두면, virbr1-nic 이 항상 자동으로 생기기는 하지만 ip 할당을 자동으로 할 방법이 없음. 그래서 무식하게 아래와 같이 매번 필요할 때마다 ip 를 할당하고, 윈도우 VM 에서 이 IP 로 접근하게 했다. \\192.168.101.240\

ip a add 192.168.101.240/24 dev virbr1-nic

이렇게 하지 않고, 먼저 smbd 가 외부에서 listen 하지 않도록 수정

[global]
...
interfaces = 192.168.101.240/24 dummy0
...
bind interfaces only = yes

[homes]
   comment = Home Directories
   browseable = yes
   read only = no
   valid users = %S

dummy nic 을 만들어서 virbr1 에 붙여두면, libvirt 에서 virbr1 을 시작하지 못하는 문제가 있음. 그래서 rc.local 에서 dummy nic 을 수동으로 만듬. network 세팅이 끝난 이후에 rc-local.service 가 시작되므로, rc.local 이 실행될 시점에는 virbr1 이 만들어진 이후임.

/etc/rc.local 에 다음과 같이 dummy nic 을 붙이도록 명령을 추가함.

...
ip link add dummy0 type dummy
ip a add 192.168.101.240/24 dev dummy0
brctl addif virbr1 dummy0

samba 는 dummy0 인터페이스에서 listen 하도록 되어 있으므로, rc.local 실행 이후에 시작되어야 함.

/lib/systemd/system/smbd.service 에서 아래를 수정.

#After=network.target network-online.target nmbd.service winbind.service
After=network.target network-online.target nmbd.service winbind.service rc-local.service

smbd 서비스가 disable 이면 부팅때 뜨지 않으므로..

systemctl enable smbd

사실 윈도우 VM 에서 samba를 쓸 수 있게 하는 설정도 꽤 많다. 보안 문제 때문에 공유 폴더 쓰게 하는 것이 많이 까다로와졌기 때문. 예전에 설정을 한 것이 기억나지 않으므로 여기서는 패스.

Audio Output 선택 gnome extension

이어폰, HDMI 등 오디오 출력이 여러개일 때 쉽게 선택할 수 있도록 해 주는 그놈 확장.

https://github.com/adaxi/audio-output-switcher

tags: Ubuntu - 20.04 - 19.10 - 우분투