목록컴퓨터 관련 (86)
Linux Programmer
인텔 계열을 주로 사용하다가 11세대 제품 발표에 좌절하고 몇 년만에 AMD PC를 맞춰봤는데, ASUS ProArt B550이 딱 마음에 들어서 구입해봤다. STCOM에서 수입한 제품이고 3년 보증을 해준다. 구입시 30만원 중후반 정도였던 것으로 기억한다. 1. 스펙 및 특징 ASUS ProArt B550-Creator는 대용량 미디어 파일을 다루는 유저는 대용량 대역폭을 다루기 때문에 그에 걸맞게 대용량 전송에 유리한 기능을 가지고 있다. 대표적인 기능은 다음과 같다. 주변기기 통신 : 썬더볼트4 (40Gbps) 2개, USB 3.2 Gen2 (10Gbps) 4개 네트워크 : 이더넷 2.5Gbps 포트 2개 PCIe x16 : PCIe 4.0 x8+x8 및 bifurcation 지원 특징이 있는 세..
1. nimf vs ibus 리눅스용 한글 입력기에는 ibus, nimf 외에도 많이 있지만, 편의성이나 호환성 때문에 대부분 ibus나 nimf를 사용한다. 하지만 대부분의 리눅스 기본 입력기인 ibus는 성능면에서 별로다. 특히 끝글자 버그라든지, facebook에서 입력이 안되고 한글을 먹어버리는 버그라든지... 여러 골치아픈 버그가 있어서 ibus-hangul을 혐오하는 사람들도 많다. 하지만 외부 패키지 설치를 금하는 곳에서는 어쩔 수 없이 ibus-hangul을 사용할 수 밖에 없다. 만일 외부 패키지를 설치해도 괜찮은 경우라면 nimf 사용을 주로 권한다. 본인도 Fedora를 쓰는 데스크탑에서는 nimf 사용한다. CentOS도 사실상 설치는 비슷하다. 패키지 위치만 다를 뿐이다. 2. n..
Failed to initialize NVML: Driver/library version mismatch nvidia 커널 모듈 드라이버와 라이브러리 버전의 미스매치 에러 해결 방법이다. 이 방법은 akmods를 사용하는 Fedora에서 작업한 것이다. 우분투는 다를 수도 있다. 1. nvidia 에러 메시지 Nvidia 그래픽 카드를 사용하는 페도라 리눅스에서 nvidia-smi 실행시 "Failed to initialize NVML: Driver/library version mismatch" 메시지와 함께 에러가 발생하는 경우가 있다. # nvidia-smi Failed to initialize NVML: Driver/library version mismatch 이런 경우에 journalctl -xe..
1. Windows app installer : winget이란? winget은 마이크로소프트에서 배포하는 앱 설치 관리자의 CLI(command line interface) 유틸리티이다. 이 기능을 이용하면 마치 리눅스에서 패키지 설치를 쉽게 해주는 yum과 같은 명령을 사용할 수 있다. 예를 들어 putty를 설치하고자 하면, 윈도 파워쉘이나 터미널, 명령어 프롬프트 창에서 winget을 사용할 수 있다: PS C:> winget install putty 2. winget 설치 설치는 github의 microsoft/winget-cli 에서 다운 받으면 된다. 릴리즈 버전의 다운로드 링크는 아래와 같다. winget-cli 릴리즈 다운로드 페이지 Assets의 Microsoft.DesktopAppIn..
google에서 "TCP 우아한 종료"라고 검색해보자. 상당히 많은 내용이 나온다. 그러나 틀린 이야기들이 대부분이다. 문제는 이 틀린 이야기가 상당히 오랫동안 인터넷을 어지럽히고 많은 학생이나 개발자들에게 혼동을 준다는 점이다. 본인은 부업으로 그룹의 IT계열 회사나 금융권에 특강을 다닌다. 대상은 적어도 시니어급 이상의 개발자, 서버 관리자들이 대부분이다. 그런데 강의를 다니다보면 시니어급 개발자(프로그래머)들의 레벨에서도 잘못 알고 있는 지식이 많음을 느낄 수 있었다. 특히 잘못된 교재로 공부한 경우나 잘못 번역된 책으로 공부한 경우에는 특히 심했다. 사실 이 글을 쓰게 된 계기는 어제(20/02/01) IT관련 교육자들이 모이는 meetup으로 잠실의 '우아한 형제들 작은 집'에 갔다가 "(어떤 ..
예전에 C언어를 잘못 배우는 사람들이 많아서 쓰게 된 "C언어 공부법과 추천"글의 후속으로, 구체적으로 어떤 내용들이 잘못 알려졌는지를 다뤄 볼 것이다. 이 내용들은 좋지 않은 C언어 서적들이나 인터넷에서 돌아다니는 강좌들에 반복적으로 나타나는 오류이다. 사실 알고보면 인터넷에 잘못된 오류를 쓴 사람들은 원래 잘못된 책으로 공부한 뒤에, 그 지식들을 정리한 뒤에 글을 쓰기 때문에 책으로부터 퍼지는 것과 다를바가 없다. 최근에는 많이 줄었지만 fflush(stdin) 같은 UB(undefined behavior)는 너무 흔하게 나타나서 C언어를 배운 사람중에 거의 대다수가 fflush(stdin)을 쓸 정도였다. 심지어 많은 C언어 책에도 fflush(stdin)을 마구잡이로 썼었다. ㅠㅠ 그래서 본인은 ..
Fedora 31 upgrade 뒤에 한글 입력기가 이상하게 작동하는 문제가 생기는 경우가 있다. 아마 내 기억에 29에서 30으로 업그레이드 했을 때도 마찬가지였던 것 같다. 이게 xkb-options 부분을 커스터마이징 한 경우나 혹은 몇몇 추가 기능을 커스터마이징 한 경우에만 발생하므로 보편적인 일은 아니다. 이 문제의 증상은 구글 크롬(google chrome)에서 쌍자음을 타이핑할 때 문제가 생긴다. 예를 들어 "있"을 타이핑하려고 하면 보통 "이"에서 "shift + ㅅ"을 누르는데, shift를 누르는 순간 단어가 완성되고 "이ㅆ"으로 변경되어버린다. 마찬가지로 "닦"을 타이핑하려고 하면 "다ㄲ"이 되어버린다. 이 문제는 ${HOME}/.config/dconf/user 파일이 꼬여서 문제가 ..
인터넷의 글이나 유튜브를 보면 리눅스 배포판 순위, 혹은 리눅스 순위 등등 글이 올라올 때가 있는데, 이때 종종 distrowatch 사이트를 참조하는 경우가 많다. 예를 들어 오늘자로 distrowatch.com의 순위는 다음과 같다. 이 순위를 보고 "제일 인기 있는 리눅스는 MX Linux구나"라고 생각한다면 잘못된 판단이다. 만일 CentOS를 쓰려고 하는데, 겨우 15위인 거 보니 인기가 없으니 CentOS 쓰면 안 되겠네라고 생각한다면 더 큰 오류다. 실제로 구글에서 "리눅스 배포판 순위"로 검색하면 디스트로왓치를 근거로 "최고 인기는 민트 리눅스입니다 다들 민트 쓰세요~" 하는 글도 볼 수 있고, 심지어 뉴스 기사도 이렇게 쓰인 것을 봤다. 그러나 저 순위는 단순하게 distrowatch.c..
셸의 발전 순서대로 보면 다음과 같다. (shell의 한글 표기로 쉘이라고 적는 경우도 있지만 요새는 셸을 더 많이 쓰는 것 같아서 shell을 셸이라고 표기하겠다) Bourne shell : /bin/sh - POSIX shell C shell : /bin/csh - Sun microsystem (BSD) Korn shell : /bin/ksh bash : /bin/bash zsh : /bin/zsh 1. bash 이전의 셸들 가장 유명한 셸은 초기 유닉스에서 쓰였고, 아직까지도 현역으로 쓰이는 본셸(Bourne shell)이 있다. Steve Bourne이 만들었고, 그 이전에 유닉스의 아버지가 만들었던 Thompson shell이 있지만 지금은 쓰이지 않는다. 본셸은 POSIX 표준에 기본 셸로 정..
Linux를 쓰다보면 caps lock 키를 쓸 일이 별로 없어서 control 키로 변경해서 사용하는 편이다. 그리고 caps lock은 left shift + right shift로 lock하는 기능을 쓴다. 이 설정을 쉽게 하기 위해서는 gnome-tweaks가 설치되어있어야 한다. 텍스트 모드에서 하는 방법도 있지만 매우 귀찮아진다. gnome-tweaks를 실행한 뒤에 키보드 부분으로 이동한다. 여기서 "추가 배치 옵션" 부분을 들어가면 다음과 같은 화면을 볼 수 있다. 그림에서 보이듯이 Ctrl 위치 메뉴에서 "Caps Lock키를 Ctrl키로"를 체크해주면 된다. 그러면 진짜 caps lock을 사용할 일이 있으면 어떻게 해야 하는가? 바로 위에서 말했듯이 양쪽 shift를 동시에 누르는 방..
dart 코드 실행시 Invalid UTF8 sequence encountered, (Error Code: .... 이런 메시지가 발생했다. 원인은 Windows 10에서 작성된 dart code를 받아서 linux로 올렸는데, dart file이 EUC-KR로 인코딩되어있어서 UTF-8을 사용하는 리눅스 시스템에서 인코딩 에러가 발생한 것이다.
파일(file)에 대한 토막글 : 파일이란 무엇인가? 토막글인데 쓰다보니 길어졌다. 보기 귀찮은 분들은 TL;DR을 참고. (페북에 썼다가 짬이 생긴 시간에 정리해서 블로그에 올려둡니다. 이 글은 운영체제(OS)에서 핵심 파트인 파일 시스템(FS)을 이해하는데 필요한 중요 개념인 경로(path)에 대해서 추상적이고 바탕이 되는 이론을 설명하는 글이다. 참고로 경로를 구성하는 것은 directory와 filename이며 /bin/bash 라는 파일이 있다면 "/bin"이 디렉토리, "bash"가 파일네임(혹은 basename이라고도 함)이 된다. 보통 file이라고 불리는 덩어리를 읽거나 쓰려면 메모리에 mapping(다른 말로 하면 사본을 만든다고 이해하면 됨)되어야 하는데, 이 과정에서 외부 접점(=경..
윈도10에서 프론트 패널(front panel)의 헤드폰(head phone)단자를 사용하면 소리 볼륨이 저절로 작아졌다 커졌다 하는 문제가 생길 수 있다. 이 문제를 해결해보려고 검색을 해봤지만 음향 효과 끄는 것이라든지 통신쪽 설정이라든지 전부 효과가 없었다. 이 문제는 배경 음악이 들어간 영상에서 더 심했다. 예를 들어 유튜브에서 백그라운드에 음악이 깔린 영상을 보면 목소리가 나올 때마다 배경 음악이 유독 작아졌다가 다시 커지는 현상으로 나타났다. 이 문제가 리얼텍 ALC1220 칩셋 문제인지 아닌지는 모르겠으나 유독 Realtek ALC1220 칩셋을 사용한 보드에서 자주 일어났다. 특히 메인보드 제조사가 배포하는 드라이버 설치시 더 심했다. 해결 방법은 의외로 간단했다. 일단 제어판(contro..
GNOME3 desktop environment에서 기본 파일관리자 변경하기 GNOME3환경에서 cinnamon nemo 파일관리자를 기본 애플리케이션(default application)으로 지정하려면 다음과 같이 설정하면 된다. 개인적으로 기본 파일관리자보다 cinnamon의 nemo가 더 좋은 것 같다. (아래 명령은 CentOS와 Fedora에서 실행한 것이다. debian 계열은 패키지 관리자 명령만 apt로 바꾸면 된다.) 0. nemo는 미리 설치해둔다. yum을 사용한다면 yum install nemo 로 명령하면 된다. dnf를 사용하는 환경에서는 dnf install nemo로 설치하면 된다. 설치 시 cinnamon 환경에서 사용하는 의존성이 걸린 패키지들이 같이 설치될 것이다. 1...
IT용어 중에 SCSI를 뭐라고 읽을까? 스카시로 읽는 것이 맞을까? SCSI는 scuzzy로 읽는다. 그래서 scuzzy로 검색해보면 반대로 SCSI가 뜨기도 한다. 이렇게 IT 용어들 중에는 발음이 애매한 것들이 많다. 그 중에서 틀리게 발음하는 것들 몇 가지를 정리해보자. 1. SCSISCSI는 정식으로는 scuzzy로 발음한다. 한국식 발음으로 적으면 "스커지"가 되겠다. 그러나 구글에 검색해보면 위키백과에 "스커지/스카시"라고 적혀있는데, "스커지"는 맞지만 "스카시"는 틀린 발음이다. 특히 한국에서 스카시로 발음하는 경우가 많은데, 이건 용산전자상가의 용팔이가 일본에서 물건을 떼오던 시절에 일본 아키하바라에서 스카시로 읽던 것을 그대로 들여와서 굳어진 것이다. 일본어를 배우신 분들은 아시겠지만..
Windows 시스템에서 java를 설치했다가 삭제 후 다른 버전으로 설치한 경우에 java.dll 혹은 Java SE Runtime Environment 에러가 발생할 수 있다. 이에 대한 해결 방법은 다음과 같다. 1. 에러 현상 : Error message C:> java.exeError: opening registry key 'Software\JavaSoft\Java Runtime Environment'Error: could not find java.dllError: Could not find Java SE Runtime Environment. java 실행시 위와 같은 메시지가 발생하는 경우에는 Java가 설치되어있음에도 그 경로를 찾지 못하는 것이다. 2. 에러 해결 방법 먼저 java가 설치..
1. MPV 설정 파일 (mpv.conf, input.conf) mpv 설정 파일은 크게 2가지가 있다. 첫번째로 mpv.conf라는 화면 크기, 위치, 재생 상태, 폰트 크기, 볼륨 등 mpv 본래의 기능을 설정하는 파일이고, 두번째로 input.conf는 단축키를 재지정할 수 있는 설정 파일이 있다. 1.1. mpv.conf 메인 설정 파일 mpv는 리눅스에서 가장 많이 애용되는 미디어 플레이어이다. default 설정도 크게 불편하지는 않지만 조금 더 손보면 좋다. mpv.conf 설정 파일의 위치는 ~/.config/mpv/mpv.conf 이다. 디렉터리는 mpv를 한번이라도 실행하면 자동으로 만들어지지만, 직접 만들어도 된다. 우선 본인이 쓰는 설정은 대충 다음과 같다. keep-open=alw..
VMware player로 NAT 네트워크의 port forwarding 설정 윈도우즈용 VMware player는 VMware Network editor 툴이 지원되지 않으므로, NAT 포트포워딩을 설정하려면 사용자가 수동으로 설정 파일인 vmnetnat.conf 를 편집해야 한다. * vmnetnat.conf 파일 위치 : C:\ProgramData\VMware\vmnetnat.conf vmnetnat.conf 파일을 편집기로 열어보면 다음과 같은 내용이 보인다. # Windows NAT configuration file [host] # NAT gateway addressip = 192.168.52.2/24hostMAC = 00:52:57:C1:00:48 ...생략... [incomingtcp]# U..
CentOS7 리눅스 한글 입력기 설정CentOS 7 리눅스의 한글 입력기를 설정하는 방법을 살펴보겠다. 설정은 로그인 할 때 하는 것과 로그인 후에 제어판(control panel)에서 하는 방법이 있다. 어차피 로그인 후에 제어판에서 다시 설정하는 부분이 있으므로 제어판 설정까지 완료해야 제대로 작동한다.참고로 CentOS에서 사용하는 한글 입력기는 ibus-hangul이다. 간혹 해당 패키지가 설치되지 않아서 문제가 생기는 경우도 있으므로 그럴 경우에는 "yum -y install ibus-hangul" 명령어를 실행하여 설치하면 된다. 1. 처음 로그인에서 설정하는 부분우선 CentOS7을 설치시 한글로 설치하면 최초 로그인할 때 한글 설정 창이 나타난다. 이 과정은 큰 의미가 없다. 어차피 뒤에..
리눅스에서 5버튼 혹은 7버튼 휠 마우스를 사용하는 경우 기본 3버튼(좌우버튼 + 휠버튼)외에 인식되지 않는 경우가 많다. 윈도라면 웹 브라우저에서 앞,뒤 페이지로 이동할 때 마우스 옆에 딸린 2개의 추가 버튼을 엄지로 눌러주면 그만이지만, 리눅스는 이게 안된다. (마우스 모델에 따라서 기본으로 되는 경우도 있는데, 그럴 경우에는 굳이 이 방법을 쓰지 않아도 된다.) 따라서 웹 브라우저에서 앞뒤 페이지로 갈 때 마다 단축키인 를 대신 쓰는 경우가 많은데, 이건 매우 귀찮다. 그러나 리눅스에서도 몇 가지 작업을 해주면 마우스의 다른 버튼에 기능을 설정할 수 있다. 참고로 이 글은 레드햇 리눅스 계열(CentOS, RHEL, Fedora Linux)에서 작성하였다. 그리고 데비안 계열(Ubuntu, Mint..