[Linux] 우분투 20.04 초기 셋팅 A to Z

Eugene CHOI·2021년 10월 23일
2

Linux

목록 보기
1/2

리눅스(우분투)를 처음 설치 하고 나서 무엇을 해야하는지 A부터 Z까지 다뤄보겠습니다.

이 포스트에서 설치하는 대부분의 패키지는 저의 개인적인 편의를 위해서 설치하는 것입니다.

$가 앞에 붙은 줄은 터미널 명령어를 의미합니다. 실제로 터미널에 입력할 때는 $를 제외하고 입력하면 됩니다.


Update

리눅스를 처음 설치하고 나면 패키지 업데이트와 업그레이드를 해 주어야 합니다.
update가 끝나면 upgrade 명령어를 입력해주면 됩니다. 길게는 15분 이상 걸릴 수도 있으니 인내심을 가지는게 좋습니다.

$ sudo apt update
$ sudo apt upgrade

Terminator 설치

저는 ROS, Tensorflow와 같은 장시간 구동하거나 많은 터미널 창이 필요한 작업을 자주 합니다.
이럴 때 터미널 창을 하나 하나 띄워서 두는 것은 매우 비효율적이며 배치를 바꾸기가 귀찮습니다.
이럴 때 Terminator를 사용하면 쉽게 창을 분할 할 수 있습니다. 여러 분할 프로그램을 써 봤지만 가장 오류 없고 사용이 간편합니다.

$ sudo apt install terminator

다음 네 가지 명령어만 기억해도 쉽게 사용 가능합니다.

  • Ctrl+Shift+E: 창 세로 분할
  • Ctrl+Shift+O: 창 가로 분할
  • Ctrl+Shift+방향키: 창 크기 조절
  • Alt+방향키: 현재 활성화 된 창 이동


neo-vim 설치

저는 터미널 편집기로 주로 vim을 사용합니다. neo-vim은 legacy vim을 현대적으로 효율적이게 재구축 한 프로젝트입니다. 기능도 더 다양하니 안 쓸 이유가 없습니다.

다음 명령어로 설치합니다.

$ sudo apt install neovim

실행은 neovim이 아니라 nvim입니다. vim을 쳐도 nvim이 실행되게 하고 싶다면 다음 과정을 따라합니다. 만약 리눅스 입문자라면 nvim 대신 gedit을 입력하세요.

$ nvim ~/.bash_profile

다음 내용을 파일에 입력해줍니다. 명령어의 별칭을 지정하여 redirection하는 방법입니다.

alias vim="nvim"
alias vi="nvim"

저장 후 다음 명령어를 터미널에 입력하여 업데이트하여 줍니다.

$ source ~/.bash_profile

그럼 완료입니다.


듀얼 부팅 시 윈도우와 시간 동기화

윈도우와 리눅스는 메인보드의 시간(RTC)을 읽어오는 방식이 다릅니다.
윈도우는 local time으로 리눅스는 협정시인UTC로 읽어옵니다.
그래서 보통 듀얼 부팅으로 두 운영체제를 설치하면 리눅스의 시간은 정상적으로 뜨는데, 윈도우는 이상한 시간이 뜨는 현상이 발생합니다.
윈도우에서 이를 보정하는건 생각보다 귀찮고, 리눅스에서는 간단하게 해결이 가능합니다.

다음 명령어를 입력해주고 리부팅하여 줍니다.

$ timedatectl set-local-rtc 1 --adjust-system-clock

하지만 리눅스에서 시간을 보정하는 방법은 리눅스 운영체제에 불안정함을 가져올 수 있기 때문에 윈도우에서 시간을 변경하는 방법도 있습니다.
이 경우에는 윈도우 터미널에서 다음 명령어를 입력하면 됩니다.

$ reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f

TLP 설치

노트북용 전원 관리 패키지입니다.
다음 명령어를 순서대로 입력하여 레파지토리를 추가해주고 패키지를 설치합니다.

$ sudo add-apt-repository ppa:linrunner/tlp
$ sudo apt update
$ sudo apt install tlp

다음 명령어를 통하여 tlp를 실행시켜주면 완료입니다. 나머지는 자동으로 설정되고, 재부팅 시에도 유지됩니다.

$ sudo tlp start

다음 명령어를 통하여 현재 전원 상태를 확인할 수 있습니다.

$ tlp-stat -s

다음 파일을 편집함으로써 설정을 변경할 수 있습니다. 여기서는 다루지 않겠습니다.

/etc/tlp.conf

GRUB 대기시간 변경

우분투를 부팅 시, GRUB 선택지가 나오고 10초 뒤에 자동 선택이 됩니다.
전 듀얼 부팅을 사용하고 항상 전원 버튼을 누르고 딴 짓을 하는데 윈도우로 들어가야될 걸 우분투로 잘 못 들어가는 경우가 빈번합니다.
이런 경우 GRUB의 대기 시간을 변경 해 줄 수 있습니다.

GRUB의 설정 파일은 다음 경로에 위치합니다.

/etc/default/grub

vim이나 gedit을 사용하여 편집기로 열어주면 다음과 같은 내용을 확인할 수 있습니다.

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

이 중 GRUB_TIMEOUT 이 대기시간을 의미합니다. 초(s) 단위이고 -1로 설정하면 사용자의 입력이 있을 때까지 무한 대기를 하게 됩니다.

GRUB_DEFAULT 는 GRUB가 켜질 때 처음 가리키고 있는 항목을 지정할 수 있습니다. GRUB 항목에서 위에서부터 아래로 0번 1번... 순서입니다. 만약 save로 설정하고 아래 문장을 추가하면 마지막 부팅 때 선택한 항목이 자동으로 선택됩니다.

GRUB_SAVEDEFAULT=true

설정이 끝났으면 GRUB의 변경사항을 다음 명령어로 업데이트합니다.

$ sudo update-grub

한글 설정 (Fcitx)

아무리 영어를 잘 한다고 해도 한글 없이 컴퓨터를 사용하긴 어렵습니다. ibus는 자잘한 오류가 많기 때문에 저는 fcitx를 사용합니다.

다음 명령어로 저장소를 업데이트 하고 입력기를 설치합니다.

$ sudo apt-get update
$ sudo apt-get install fcitx-hangul

설치가 되면 Language Support 설정 메뉴로 들어갑니다.
처음 들어간다면 다음과 같은 경고창이 발생합니다. Install을 눌러 설치해줍니다.

언어 목록 업데이트가 완료되면 다음과 같이 아래의 input method를 fcitx로 변경합니다.

변경 하고 나면, 오른쪽 상단에 입력기 메뉴가 생겼습니다.
Configure Current Input Method를 선택하여 fcitx 설정 창을 열어줍니다.

다음과 같이 왼쪽 아래의 +를 눌러 Hangul 언어를 추가해줍니다. 만약 목록에 없다면 재부팅을 해주세요.

그리고 맨 위의 단축키 설정을 통하여 한영 변환 버튼을 변경하여 줍니다.
기본은 Ctrl+Space지만 저는 Shift+Space가 동선이 더 좋아서 바꿔 줬습니다.

여기까지 잘 따라하셨다면 설치 완료입니다.


그림판 설치

보고서를 자주 작성하다보니까 스크린샷을 찍고 매우 간단한 이미지 작업을 종종 작성하는데 윈도우의 그림판 프로그램이 그리울 때가 있습니다. 이런 저를 위한 유사 프로그램인 KolourPaint가 있습니다. 사용법은 윈도우 그림판과 같이 매우 간단합니다.

$ sudo apt install -y kolourpaint4


Telegram 설치

리눅스에서 사용가능한 메신저는 Slack, Telegram, Jandi 등 여러가지 툴이 있습니다. 아쉽게도 KakaoTalk는 지원하지 않습니다. Wine을 통하여 사용하는 방법도 있는데, 굳이 고생하지 않는 것을 추천드립니다.

저는 그 중 Telegram을 가장 애용하는데, 파일에 만료기간이 없고 쉽게 설치, 사용이 가능한데다 bot API까지 지원하기 때문입니다. Archive로 사용하기도 좋습니다.
Telegram 홈페이지로 가서 파일을 다운로드 받으면 tar 압축 파일로 받아지고, 직접 폴더를 옮기고 소프트 링크를 걸어주어야 합니다.

snap을 사용하면 다른 설정 없이 간단하게 설치할 수 있습니다.

$ sudo snap install telegram-desktop
profile
Hi, my name is Eugene CHOI the Automotive MCU FW developer.

0개의 댓글