2024년 12월 16일 월요일

Windows 11 세팅

기존에 리눅스만 깔아서 사용중인 삼성컴퓨터에서 Windows 11을 설치 후 정품인증이 되지 않았다.
Windows 10을 설치 하여도 여전이 정품인증이 되지 않았다.
이 컴퓨터는 윈도우를 깔아본 적이 없다.
에러코드는 0xC004F213, 윈도우 제품키를 찾지 못하는 에러 였다.
wmic path softwarelicensingservice get oa3xoriginalproductkey
상기 CMD 로도 제품키는 나오지 않았다.
https://www.samsungsvc.co.kr/solution/1634540

HDD를 교체한적이 있지만 이것은 중요부품을 아니라서 문제가 없다고 한다.
중요부품은 MAINBOARD, CPU 라고 한다.
마이크로소프트 고객센터에 제품 ID(systeminfo로 파악)를 전달하였더니 등록되어 있지 않다고 한다.
여러가지 상황으로 미루어 볼때 윈도우 라이센스가 없는 제품이 아닐까 싶다.

다른 컴퓨터에 Windows 11, 10을 설치해 보니 정품인증이 잘 되었다.

** ext4 파티션등을 읽기 위해서 Linux Reader 설치

** mingw-w64 toolchain 설치
https://www.mingw-w64.org/downloads/
https://www.mingw-w64.org/downloads/#mingw-w64-builds
https://github.com/niXman/mingw-builds-binaries/releases :: 최종적인 다운로드 위치

x86_64-14.2.0-release-win32-seh-msvcrt-rt_v12-rev0.7z
다운로드 받아서 압축 풀고 bin 폴더를 PATH 설정하여 사용함





2024년 11월 27일 수요일

Ubuntu 24.04 Setup

* 기본폴더 영문 이름으로 변경 (다시 설치 할때 아예 영문 버전으로 설치했음)
언어를 한글을 선택하여 설치하면 기본 폴더('다운로드' 등)가 한글로 세팅되어,
개인적으로는 command line을 많이 사용하는 관계로 불편한 점이 있다.
아래 2개의 명령어만으로 영문폴더명으로 변경할 수 있다.
유의사항은 기존 폴더에 추가한 파일이 있다면 삭제하고 진행하도록 하자.
추가된 파일을 삭제하지 않으면, 기존 한글 폴더 이름이 변형되면서 완전히 삭제되지 않는다.

export LANG=C
xdg-user-dirs-gtk-update

* 개발시 설치해야 하는 패키지
sudo apt install build-essential git silversearcher-ag htop lm-sensors

* 설정 -> 접근성 -> 보기 -> 고대비, 모양 사용/해제(이거는 먼지 모르겠음),
  (다음은 노트북에서만) 큰 글씨 선택, 커서 크기 크게

* 터미널 세팅 변경
  1. 마우스 오른쪽 → Preferences (기본설정) > Shortcuts (바로가기) 에서 단축키를 변경할 수 있다.
  2. Reset and Clear : Alt+Q
  3. Switch to Previous Tab : Alt+Left
  4. Switch to Next Tab : Alt+Right
* 디스크(gnome-disk) 세팅
기본적으로 시스템 파티션이 아닌 파티션은 /etc/fstab 구성 파일에 설정되어 있어야 지정된 디렉토리에 자동으로 마운트됩니다.
다른 내부 파티션은 마운트되지 않습니다. 그러나 파일 관리자의 왼쪽 창에 표시되며 아이콘을 클릭하면 마운트할 수 있습니다. 이동식 드라이브는 플러그인하면 자동으로 디렉토리(/media/<id>/)에 마운트됩니다. 디스크 유틸리티를 사용하여 시작 중에 마운트할 파티션을 구성할 수 있습니다.
마운트 지점은 마운트 후 마운트된 파티션의 내용이 나타나는 (빈) 디렉토리입니다. 원하는 디렉토리로 변경하세요. 일반적으로 /mnt/ 폴더를 주로 사용합니다.

마운트 옵션에서 기본 사용자 세션은 비활성화 하고 '시작할 때 시스템에 마운트'를 체크 해야 자동으로 마운트 된다.
톱니바퀴 모양의 아이콘을 클릭하고, 나타나는 팝업 메뉴에서 "마운트 옵션 편집..."을 선택하세요.
"마운트 옵션" 대화 상자가 나타납니다. "기본 사용자 세션"을 선택 취소합니다. "시스템 시작 시 마운트"를 선택합니다. 선택적으로 파일 관리자의 왼쪽 열에 파티션을 표시하려면 "사용자 인터페이스에 표시"를 선택합니다. "마운트 지점"을 변경합니다.
다시 시작한 후 드라이브가 마운트되어야 합니다. 사용자로 읽기/쓰기 액세스 권한을 얻으려면 해당 디렉토리의 소유자가 되세요. 이는 Disks에서도 가능합니다. 이제 팝업 메뉴에서 "소유권 가져오기..."를 선택하세요.
원하는 이름으로 마운트하기 위해서 '다음으로 식별'에서 by-label을 주로 사용한다.

* 터미널 색상 변경 참조
터미널 메뉴 -> 기본 설정 -> 프로파일 추가(+ 버튼) -> 색 탭 선택 -> 아래쪽 색 팔레트에서 마음에 들지 않는 색상을 선택하여 색상 변경. -> 추가된 프로된 프로필을 기본값으로 변경(프로필 오른쪽 아래쪽 꺽음쇠 눌러서 변경)

* 터미널에서 백스페이스 누르면 껌뻑거리는 기능 막기
마우스 오른쪽 -> 기본설정 -> 현재 프로파일 -> 텍스트 탭 -> 터미널 삑소리 기능 끄기

* 시작프로그램 메뉴 : gnome-session-properties 실행

* gnome-disk를 사용 Linux swap partition 파티션을 생성 마운트 하면 swap 세팅이 완료 됨.
  확인은 sudo swapon --show
  swap file 보다 partition이 속도가 좀 더 빠르다고 함. 용량을 조절하는 유연성은 떨어지겠지만...
  참조

* dash 대신 bash로 기본 쉘을 바꾸기 (docker를 사용할거라 변경하지 않았음)
sudo dpkg-reconfigure dash
"NO", "아니오" 를 선택
ls -al /bin/sh
lrwxrwxrwx 1 root root 4 10월 20  2017 /bin/sh -> bash

sudo apt install openssh-server

* MINICOM 세팅
sudo apt install minicom
sudo minicom -s : 셋업메뉴로 바로 진입
-> Serial port setup
-> A 누름 -> Serial Device : /dev/ttyUSB0
-> E 누름 -> 921600 8N1
-> F (하드웨어/소프트웨어 흐름 제어, hardware/software Flow Control) 누름 -> No 선택 -> Enter
-> Save setup as dfl (enter)
default  값은 home 폴더에 .minirc.dfl 이름으로 저장됨

* 워크스페이스 위치를 상하(위아래)로 변경
V-Shell(Vertical Workspace) GNOME-Shell Extension을 설치
1. 그놈 확장쉘 홈페이지
sudo apt-get install gnome-browser-connector
https://extensions.gnome.org/extension/5177/vertical-workspaces/
로 들어가서 설치
2. gnome-shell-extension-manager 앱
sudo apt install gnome-shell-extension-manager
extension-manager 또는 '확장 관리자' 실행
확장 검색 탭 선택 -> v-shell 검색 -> 설치

* 로그인창에서 X Window 선택하는 설정 아이콘(오른쪽 하단)이 보이지 않음
echo $XDG_SESSION_TYPE
이 명령어는 현재 상태를 보여준다고 하는 데 x11로 나옴.
즉 Wayland를 지원하지 않고 X Windows만 지원하는 것 같음. 와이??

* 듀얼모니터에서 로그인창이 중간에 걸쳐서 나오는 문제 해결
로그인 후 설정에 보면 알수 없는 그래픽카드가 잡힘?? 기본적으로 비활성화되어 있음.
> xrandr 명령어로 보면 아래와 같이 잡힘.
None-2-1 connected (normal left inverted right x axis y axis)
   1680x1050     60.00 +

아래 명령어 실행하고 리부팅하여 해결됨.
sudo cp $HOME/.config/monitors.xml /var/lib/gdm3/.config/monitors.xml
sudo chown gdm:gdm /var/lib/gdm3/.config/monitors.xml

* doublecmd alt+f7 단축키 충돌 수정
설정 -> 키보드 -> 바로 가기 보기 ... -> alt f7 입력 -> '창 옮기기' 뜸 -> 선택 -> 백스페이스로 단축키 삭제

* 설정 -> 우분투 데스크톱 -> 독 동작 구성 -> 볼륨과 장치 표시

* visual-bell 설정
gsettings set org.gnome.desktop.wm.preferences audible-bell false
gsettings set org.gnome.desktop.wm.preferences visual-bell true

gsettings set org.gnome.desktop.wm.preferences visual-bell-type frame-flash
fullscreen-flash : 전체 화면 흑백 플래시 발생
frame-flash : 벨 신호를 보낸 애플리케이션의 타이틀바가 깜빡이게 합니다.

* epub 파일 리더
sudo apt install foliate

* duf : 파티션 용량을 알아보기 편하게 보여준다.
sudo apt install duf
alias df='duf -hide special -hide-mp "*spell"'

* usb adb 연결을 하면 usb network가 설정이 되면서 network 에러 발생 문제 해결 방법
NetworkManager 에서 특정 네트워크 인터페이스를 비활성화할 수 있습니다.
ip a 또는 ifconfig 명령을 통하여 interface-name 을 파악.
저의 경우는 enx 로 시작하고 뒷 부분은 랜덤하게 변경됨.
   sudo nano /etc/NetworkManager/NetworkManager.conf
다음 내용 추가 (USB 네트워크를 비활성화)
   [keyfile]
   unmanaged-devices=interface-name:enx*
NetworkManager 재시작
   sudo systemctl restart NetworkManager

2024년 9월 24일 화요일

dpkg - 우분투(데비안) 패키지 관리 프로그램

dpkg는 데비안 패키지 관리 시스템의 기초가 되는 소프트웨어로서, .deb 패키지의 설치, 삭제, 정보 제공을 위해 사용되는 명령어입니다.

dpkg 자체는 APT 등과 같은 고급 도구에 비해 낮은 레벨의 도구이며 복잡한 패키지 관계와 패키지를 원격에서 받아오는 등의 일을 합니다. APT도 Ubuntu의 소프트웨어를 관리하기 위해 내부적으로 이 dpkg를 사용합니다.

패키지 설치

dpkg -i <.deb 파일>

설치된 패키지 제거
dpkg -r <패키지명>
: 해당 패키지 삭제 (삭제 시 설정 파일들은 남겨둡니다.)

sudo dpkg -P <패키지명>
: 해당 패키지와 해당 패키지의 설정파일을 모두 삭제

설치된 패키지 목록 보기
dpkg -l

$ dpkg -l | grep ^rc
rc  bogofilter                                  1.2.4+dfsg1-12 ...

위에 보이는 대로 상태가 rc 인 패키지는 삭제 되었지만 설정 파일이 남아 있음을 의미합니다.
dpkg -P bogofilter 명령어로 완전히 삭제 할 수 있습니다.

상태가 rc 인 모든 패키지를 지우고 싶다면 아래 명령어로...
dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge

커널 업데이트 이후에 부팅이 제대로 되지 않는 문제가 발생하였다.
grub 에서 과거 커널로 부팅 할 수 있지만, 추가 업데이트 되다 보면 잘 작동하는 버전이 grub 에서 사라지지 않을까 하는 불안이 들어서 문제가 있는 커널을 지웠다.
또한 인터넷에서 커널을 좀 더 편하게 지우는 법을 찾았다.

언젠가부터 apt autoremove 로 예전 커널을 지울 수 있게 됐다. 현재 커널과 예전 커널 2개(?)를 남기고, 그 이전 커널들은 모두 알아서 지워준다.
하지만, 어떤 이유로든 계속 남아있는 커널들이 있다. 남아있다고 해서 문제가 되지는 않지만, 혹시나 /boot 를 독자 파티션으로 설정한 경우, 용량 부족이 생길 가능성은 있다.
따라서, 남은 커널을 지울 필요는 있는데.. 어떻게 할 수 있으려나?
현재 설치되어 있는 커널을 알아보는 방법을 먼저 알아봐야겠다.

$ sudo dpkg --list | egrep -i --color 'linux-image|linux-headers'
ii  linux-headers-5.4.0-42-generic       5.4.0-42.46~18.04.1                             amd64        Linux kernel headers for version 5.4.0 on 64 bit x86 SMP
ii  linux-headers-generic-hwe-18.04      5.4.0.42.46~18.04.35                            amd64        Generic Linux kernel headers
ii  linux-image-5.3.0-1033-gke           5.3.0-1033.35                                   amd64        Signed kernel image GKE
ii  linux-image-5.3.0-1034-gke           5.3.0-1034.36                                   amd64        Signed kernel image GKE
rc  linux-image-5.3.0-62-generic         5.3.0-62.56~18.04.1                             amd64        Signed kernel image generic

이 중, 첫번째 열에 ii/rc 라고 나와있는데, 이건 무슨 뜻일까?

ii : ‘It should be installed and it is installed’
rc : ‘It’s removed/uninstalled but it’s configuration files are still there’
ii 는 현재 정상 설치되어 있는 커널이고, rc 는 지워졌으나 설정은 남아있는 커널이다.

ii 든, rc 든 모두 apt purge 로 지울 수 있다.
형식은 다음과 같다.

sudo apt purge linux-headers-<판본번호> linux-image-<판본번호>
위의 경우 이런 식으로 선택/삭제해줄 수 있다.

sudo apt purge linux-headers-6.8.0-45-generic linux-image-6.8.0-45-generic
linux-image-6.8.0-45-generic 을 삭제하면 linux-image-unsigned-6.8.0-45-generic 를 설치함.

특정 파일이 속한 패키지 확인
dpkg -S /etc/ssh/ssh_config
: 해당 파일명 또는 경로가 포함된 패키지들을 검색

dpkg -C <.deb 파일>
: 해당 .deb 파일이 설치한 파일의 목록 확인

dpkg -s <패키지명>
: 해당 패키지에 대한 정보 확인

dpkg -I <.deb 파일>
: 해당 .deb 파일에 대한 정보 확인

sudo dpkg -i <.deb 파일>
: 해당 파일 설치 또는 최신 버전으로 업그레이드

sudo dpkg -x <.deb 파일> <디렉토리>
: 파일에 포함되어있는 파일들을 지정된 디렉토리에 압축 해제
(※ 이 명령을 실행할 경우, 해당 디렉토리를 초기화 시켜버리므로 주의해야 합니다!!!!!!!!)







2024년 8월 21일 수요일

Beyond compare, bcompare

* 단축키 변경
Tool -> Option -> Toolbars -> Select view : Text Compare 로 변경
찾기에서 differ 입력
Next Difference Section : Alt + Down
Prev Difference Section : Alt + Up
찾기에서 Copy 입력
Copy Line to Left : Alt + Left
Copy Line to Right : Alt + Right
OK 버튼

2024년 8월 4일 일요일

윈도우 C 드라이브 용량 줄이기 windows C drive diet

* 리눅스 환경에서 virtual box를 이용 윈도우를 사용중인데, SSD 용량이 부족한다.
예전에는 20G 수준이었던 것 같은데 55G 까지 사이즈가 늘어났다.
이에 용량을 줄이는 방법을 찾아보았다.

방법 1
windows\installer 폴더 안에 있는 파일 삭제 (10G 넘는 용량이 있었음)
아직 까지는 문제가 없어 보이는데 좀 더 지켜볼 예정
1. 만약을 대비하여 \windows\Installer 폴더를 백업
2. 명령 프롬프트를 관리자 권한으로 실행
3. cd \Windows\Installer
3. cd \Windows
4. DEL *.ms? /F /S /Q /A
4. rmdir Installer /s /q
    mkdir Installer

아래와 비슷한 포맷의 폴더에는 어플리케이션의 아이콘 등의 정보가 들어가 있음.
C:\Windows\Installer\{3F18F548-9500-4E16-BD95-5235F3F00E1A}\

원문은 22년 10월 23일 작성
22년 2월 13일 업데이트 : 아직 까지 문제점 발견되지 않음.

방법 2
mklink 를 사용하여 다른 드라이브로 파일 옮긴 뒤에 링크
C:\Users\<account>\AppData\Local\Kakao 폴더가 10G가 넘는 상당한 용량을 차지하고 있어서 해당 폴더를 옮겨 볼 예정
방법 #1 로 상당한 용량이 절약되어 아직 해보지 않았음.

용량 확인 프로그램
https://sourceforge.net/projects/windirstat/

출처
#1#2#3

2024년 7월 30일 화요일

VirtualBox on Ubuntu

호스트 : Ubuntu 24.04
게스트 : Windows 10

* 죽는 문제가 있어서 오디오 기능은 비활성화.
* 네스티드 하드웨어 가상화, 반가상화 인터페이스: KVM, VBoxSVGA 사용
  네스티드 하드웨어 가상화를 비활성화 하면 부팅이 되지 않음.

* USB 장치가 보이지 않는 문제가 있어서 아래 명령어 실행.
sudo usermod -aG vboxusers $(whoami)

* 게스트 OS에서 Serial port를 사용하기 위해서 아래 명령어 실행.
sudo adduser $(whoami) dialout

------------------------------------------------------------------------------------------------------------
호스트 : Ubuntu 18.04
게스트 : Windows 10

윈도우 게스트에서 VBoxSVGA(머신 > 설정 > 디스플레이 > 그래픽 컨트롤러)가 기본으로 설정된다. 매뉴얼에는 향상된 그래픽을 제공한다고 설명되어 있지만, 체감적으로 VBoxVGA 보다 확실히 느리다. 또한 3D 가속 선택하여 사용시 Office 2013 프로그램과 Windows 시작 메뉴 검색화면에서 화면 깨짐현상을 경험하였다.
VBoxVGA 모드에서 VirtualBox가 죽는 현상 한번 경험.
로그상으로는 3D 가속기능과 연관이 있어 보임.
결론적으로 나는 VBoxVGA 모드(2D 가속 선택/3D 가속 막음)로 사용중이다.

VMSVGA - 리눅스 게스트의 기본 값이다.

이전에 사용하던 컴퓨터에서는 아래 사이트를 참조하여 윈도우 정품인증을 받았음.
참조1
참조2

새로운 컴퓨터에서 동일한 방법으로 설치 하였지만 윈도우 정품인증이 되지 않음.
아마도 VirtualBox 컴퓨터 환경(예를 들면 CPU 등)이 변경되어서 그런것으로 추측.

그래서 이전 컴퓨터에서 설치한 이미지를 가지고 와서 사용 중.
문제점 1. 마이크로소프트 스토어에서 다운로드가 되지 않는다. 해결하지 못함.
WXAR_1.2 프로그램 사용하여 스토어, MAP 삭제해 버렸음.

* USB 장치가 보이지 않는 문제가 있어서 아래 명령어 실행.
sudo usermod -aG vboxusers $(whoami)

* 게스트 OS에서 Serial port를 사용하기 위해서 아래 명령어 실행.
sudo adduser $(whoami) dialout

* VirtualBox 외부 드라이브 퍼미션
chmod 700 [file] -> exec 퍼미션도 줘야지 파일 생성이 가능하다.

* Error reading custom ACPI table. (VERR_FILE_NOT_FOUND)
이미지를 복사/이동하고 위와 같은 에러가 난다면 vbox 파일에서 slic.dat 파일의 경로를 확인할것. slic.dat의 경로가 절대경로로 되어 있음.

2024년 5월 8일 수요일

우분투 NFS 설정

* 서버 설정
apt-get install nfs-common nfs-kernel-server rpcbind

/etc/exports
/home/xyz 192.168.0.X(rw,sync,no_root_squash,no_subtree_check)
/home/123 *(rw,sync,no_root_squash,no_subtree_check)

[/경로] [허용할 IP주소. *은 모두허용](옵션들)
(IP주소와 옵션은 붙어있다. 띄어쓰기하면 기본값으로 열리니 주의)

옵션은 다음과 같은 선택지가 있음
ro : 읽기 전용
rw : 읽기 및 쓰기 가능
no_root_squash : 클라이언트쪽 root도 서버쪽 root와 같은권한가짐
no_all_squash : root이외 모든사용자에대해 UID가 같으면 같은권한을가짐
sync : 서버와 클라이언트사이에 sync를 맞춤
insecure : 인증 안되도 접속허가

서버 재시작
service nfs-kernel-server restart
service rpcbind restart

* 클라이언트 설정
apt-get install nfs-common

mount -t nfs [IP]:[서버_경로] [클라이언트_경로]
> mount -t nfs 192.168.0.2:/home/xyz /home/xyz



NFS(Network File System)를 사용하여 리눅스 간에 파일을 공유하는 방법을 설명해 드리겠습니다.

1. **NFS 서버 설정**:
   - NFS 서버를 구성하기 위해 먼저 필요한 패키지를 설치해야 합니다. 대부분의 리눅스 배포판에서는 `nfs-utils` 패키지를 사용합니다. 예를 들어, Ubuntu에서는 다음 명령을 사용하여 설치할 수 있습니다.
     ```
     sudo apt update
     sudo apt install nfs-kernel-server
     ```

2. **공유할 디렉토리 설정**:
   - NFS로 공유하려는 디렉토리를 설정합니다. 예를 들어, `/srv/nfs/share` 디렉토리를 생성하고 공유할 디렉토리로 사용합니다.
     ```
     sudo mkdir -p /srv/nfs/share
     ```

3. **NFS 설정 파일 편집**:
   - NFS 서버의 설정 파일인 `/etc/exports` 파일을 편집하여 공유할 디렉토리와 접근 권한을 지정합니다.
     ```
     sudo nano /etc/exports
     ```
   - 예를 들어, `/srv/nfs/share` 디렉토리를 모든 클라이언트에게 읽기/쓰기 권한으로 공유하려면 다음과 같이 설정합니다.
     ```
     /srv/nfs/share    *(rw,sync,no_subtree_check)
     ```

4. **NFS 서비스 재시작**:
   - 설정을 변경했으면 NFS 서비스를 재시작하여 변경 사항을 적용합니다.
     ```
     sudo systemctl restart nfs-kernel-server
     ```

5. **NFS 클라이언트 설정**:
   - NFS 서버에 공유된 디렉토리를 마운트하여 클라이언트에서 사용할 수 있습니다. 클라이언트에서 마운트할 디렉토리를 생성합니다.
     ```
     sudo mkdir -p /mnt/nfs_share
     ```
   - 그리고 NFS 서버에서 공유한 디렉토리를 마운트합니다.
     ```
     sudo mount <NFS_SERVER_IP>:/srv/nfs/share /mnt/nfs_share
     ```

6. **부팅 시 자동으로 마운트 설정** (선택 사항):
   - NFS 공유를 부팅 시 자동으로 마운트하려면 `/etc/fstab` 파일에 해당 마운트 정보를 추가합니다.
     ```
     <NFS_SERVER_IP>:/srv/nfs/share   /mnt/nfs_share   nfs   defaults   0   0
     ```

이제 NFS 서버에서 공유한 디렉토리는 클라이언트에서 마운트되어 사용할 수 있습니다. 공유한 파일은 마운트된 디렉토리에 로컬 파일처럼 접근할 수 있습니다.

2024년 4월 5일 금요일

Excel 2013 (Windows 10)

엑셀 파일을 바로 열기 불가능 한 경우 해결 방법

Excel 파일 실행 레지스트리 다시 만들기
a. 실행 창에 regedit를 입력합니다.
b. 아래 경로로 이동하여 해당 폴더를 리네임(백업/삭제) 합니다.
XLSX : HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command
XLS : HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\command
XLSM : HKEY_CLASSES_ROOT\Excel.SheetMacroEnabled.12\shell\Open\command
c. 해당 Excel 파일들을 다시 실행 (연결 프로그램을 다시 지정해야 합니다.)


엑셀 2013에서 한글, 영문 자동 변환 기능 끄는 방법

엑셀 2013을 실행하고 상단 왼쪽 모서리에 있는 "파일" 탭을 클릭합니다.
왼쪽 메뉴에서 "옵션"을 선택합니다.
"옵션" 창에서 "언어 교정" 탭을 선택합니다.
"자동 고침" 옵션 그룹에서 "한/영 자동 고침(K)" 옵션의 체크를 해제합니다.
"확인" 버튼을 클릭하여 설정을 저장합니다.
위의 단계를 완료하면 엑셀 2013에서 한글, 영문 자동 변환 기능이 비활성화됩니다.

참고 : 특정 셀 범위에서만 자동 변환 기능을 비활성화하려면 해당 셀 범위를 선택하고 "홈" 탭에서 "언어" > "자동 고침 옵션" > "한/영 자동 고침(K)"을 선택하면 됩니다.
자동 변환 기능을 다시 활성화하려면 "옵션" > "언어 교정" > "자동 고침"에서 "한/영 자동 고침(K)" 옵션의 체크를 선택하면 됩니다.

2024년 4월 3일 수요일

ag (Silver Searcher)

단어전체가 완전히 일치하는 것만 검색함.
ag -w search-word

File type 리스트를 보여줌.
ag --list-file-types

--cc
      .cpp  .cc  .C  .cxx  .m  .hpp  .hh  .h  .H  .hxx  .tpp

File type을 지정하여 검색 범위를 줄임.
ag --cc search-word

파일 확장자 이름을 지정하여 검색 범위를 줄임. (-G flag 사용)
ag -G .java search-word

정규식을 사용하여 검색
ag tiny[-_]p

-z 옵션을 사용하여 압축파일 검색
ag -z -G .zip packed

stdin 사용하여 검색
ag --help | ag search-word

FILES_${PN} 문자열로 검색
ag 'FILES_\${PN}'
여기서 \${PN}과 같이 $를 이스케이프해야 합니다. $는 정규 표현식에서 특수 문자로 인식되므로, \를 사용하여 이스케이프해야 일반 문자열로 취급됩니다.

2024년 4월 1일 월요일

우분투 22.04가 텍스트 모드로만 부팅이 될때 해결 방법

** cpp-11 패키지는 절대 지우면 안됨. 지우면 텍스트모드로 바뀜.
** 3번 방법으로 해결되었음.

우분투가 텍스트 모드로만 부팅되는 문제는 여러 가지 원인이 있을 수 있습니다. 가장 일반적인 해결 방법은 다음과 같습니다:

1. 그래픽 드라이버 문제
- 최신 그래픽 드라이버를 설치하거나 기존 드라이버를 제거한 후 재부팅 해보세요.

2. 디스플레이 관리자 문제
- /etc/X11/default-display-manager 파일에서 디스플레이 관리자(gdm3, lightdm 등)가 올바르게 설정되어 있는지 확인하세요.

3. 부트로더 설정 문제
- GRUB 메뉴에서 "Advanced options" -> "Recovery mode"를 선택하여 부팅하고, 루트 셸에서 "sudo apt install --reinstall ubuntu-desktop"을 실행한 후 재부팅하세요.

4. 그래픽 모드 강제 실행
- GRUB 부트로더에서 커널 라인에 "nomodeset" 옵션을 추가하면 우회적으로 그래픽 모드 진입이 가능할 수 있습니다.

5. Xorg 구성 파일 재생성
- 터미널에서 "sudo dpkg-reconfigure xserver-xorg"를 실행하면 X 서버 설정을 재구성할 수 있습니다.

위 방법들을 차례대로 시도해보시고, 문제가 지속되면 로그 파일(/var/log/Xorg.0.log 등)을 확인하여 에러 메시지를 분석해 보는 것도 도움이 됩니다.

2024년 3월 6일 수요일

즐겨찾기


텐서코어 : #1

그룹웨어 : #1
장기요양 : #1
systemd : #0#1#2#3#4#5

뉴스
뉴스타파 - 진정한 언론
MBC - 열일하고 있는 곳
더브리핑 - 네이버 뉴스에 없다. Why?
그사건 그검사 - 검찰의 수사 및 결과를 기록하고, 사건을 담당한 주요 검사와 지휘 라인들이 누구인지 기록하고 공유하는 DB 사이트입니다.

PSP Emulator

부동산

SHELL
Android 소스 최적화 (100GB에서 65GB로 줄이기)

리눅스
GNU tar를 이용한 복구 (증분/풀 백업)리눅스 top 정리 및 설명

우분투 데스크탑
Ubuntu 불필요한 파일 정리


GIT
git server install #1#2,





Make #1#2#3#4
CMAKE #1#2#3

리눅스 멀티코어 압축


이북 제작 ScanTailor
텍스트 줄바꿈 자동보정 #1
- 다운로드파일 링크 위치가 눈에 잘 안 들어옴. 파일첨부로 찾을 것. 바이러스 토탈 검사 완료.
텍스트 줄바꿈 자동보정 #2
크롬 어도비 플래시 플레이어 항상 허용
리눅스 SSH 패스워드 없이 자동 로그인
How to View System Log Files on Ubuntu 18.04 LTS
Windows 10에 자동으로 로그인하는 방법
Virtualbox 6.0.2 audio causing a crash
리눅스 로그 파일
Subversion 사용시 rollback 하기(잘못된 버전 지우기)
SVN에서 특정 리비전을 제외한 모든 리비전 삭제
SVN에서 특정 리비전을 제외한 모든 리비전 삭제 2
우분투 부팅 USB 만들기
리눅스 공유 라이브러리 의존성
Virtualbox 저장소 줄이기 #1
Virtualbox 저장소 줄이기 #2

자동차 배터리 충전 연결 1

GCC 옵션 연결 1연결 2
docker 연결 1연결 2




















2024년 1월 30일 화요일

구글링의 고수가 되는 검색 트릭 14

구글링의 고수가 되는 검색 트릭 14

구글은 생각보다 많은 기능을 가진 검색엔진이다. 이제까지 구글 검색을 잘 활용해 왔다고 생각하는 사람들 중 구글의 기능을 다 꿰고 있는 사람은 많지 않을 것이다.

허핑턴포스트가 세계에서 가장 유명한 검색 엔진을 효율적으로 활용하는 방법을 소개한다. 단 몇 개의 키만 입력하면 누구보다 빠르고 쉽게 구글링을 할 수 있다.
 
"Define"을 앞에 붙여라
상황: 단어 게임을 하는데, 어떤 바보가 "야, '파나케이아(panacea: 만병통치약)라는 단어는 없어!"라고 말한다.
해결방법: 찾으려고 하는 단어 앞에 "define"을 붙여라. 그러면 곧장 사전적 정의가 뜬다.

정확한 순서의 단어를 찾아라
상황: 인용문을 하나 찾으려는데, 원래 문장이 뭔지 모르겠다면?
해결방법: 찾으려는 문장에 직접 인용부호 " " 를 붙이면 쉽게 검색이 된다.




마크 트웨인의 명언이 정확히 기억나지 않는다면? 따옴표를 붙여라!
연관 단어를 찾아라

상황: '대체 에너지(alternative energy)'에 대해 검색하고싶은데, '재생에너지(renewable energy)'와 같은 수많은 동의어도 함께 찾고 싶다.

해결방법:검색어 앞에 ~ 를 붙여라. 연관된 문서들을 찾을 수 있다.





특정 단어를 배제하라

상황: '효모(yeast)'라는 단어가 들어가지 않은 제빵 방법(bread recipes)을 검색하고 싶다.

해결방법: 검색할 단어(bread recipes)를 입력한 다음, 배제하고 검색할 단어(yeast) 앞에 마이너스 표시 (-)를 붙인다.





특정 가격 범위 내에서 찾아라

상황: 특정 가격 범위에 속하는 디지털 카메라를 찾고 싶다

해결방법: 검색어를 입력한 후 최저 가격과 최고 가격 사이에 마침표를 두 개(..) 찍는다. 날짜 범위를 설정해 검색할 때도 똑같은 방법이 적용된다. 특정 날짜 대에 발행된 기사를 찾을 때 유용하다.





특정 웹사이트의 컨텐츠를 찾아라

상황: 허핑턴포스트에서 넬슨 만델라에 대한 재밌는 기사를 읽었다. 그런데 기사를 쓴 사람이나 제목이 기억나지 않는다.

해결방법: "site:" 뒤에 찾고자 하는 웹사이트의 주소를 넣은 다음 검색어를 입력한다. 허핑턴 포스트에서 넬슨 만델라의 기사를 찾고 싶다면 "stie:huffingtonpost.com nelson mandela"를, 허핑턴포스트코리아에서 브라질 월드컵에 대한 기사를 찾고 싶다면 "site:huffingtonpost.kr 브라질 월드컵"을 검색창에 치면 된다.





빈칸을 채워라

상황: 예전에 팝락스(Pop Rocks)라는 입에서 톡톡 튀기는 캔디와 '무엇'을 섞으면 '어떻게 된다'는 말을 들은 거 같은데, 기억이 안 난다.

해결방법: 모르겠는 부분에 별표(*)를 대신 넣어라. 구글이 가능성있는 단어를 찾아줄 거다. (한글도 똑같이, "콜라에 *를 넣으면"으로 검색할 수 있다.)





특정 파일 형태를 찾아라

상황: 1920년대 미국 슬랭(속어)에 관한 PPT(파워포인트 프레젠테이션) 파일을 찾고 싶다.

해결방법: 검색어 뒤에 "filetype: PPT"를 붙인다. (한글도 똑같이, "지방선거 filetype:PPT" 이렇게 검색할 수 있다. txt, ai, psd 등도 가능하다)





타이머를 설정해라

상황: 머리도 좀 식힐 겸 유튜브에서 동영상을 보며 놀고 싶다. 하지만 정신 못 차리고 계속 빠져있긴 싫다.

해결방법: "set timer for"을 검색창에 치면 구글 타이머가 뜬다. 원하는 시간을 시, 분, 초 단위로 설정할 수 있다. 시간이 다 되면 "삐삐삐" 알람 소리가 난다.





수학 기능을 써라

상황: 수학실력이 젬병이거나, 혹은 꽤 잘하지만 복잡한 계산을 해야 한다면?

해결방법: 검색창에 방정식을 입력하면 구글이 알아서 계산해준다. 예를 들어 3200의 30%를 알고 싶다면? "30% of 3200"을 치면 된다.





환전 기능을 써라

상황: 태국에 여행갈 일이 있는데 달러로, 혹은 원화로 얼마 가져가야 하는지 모르겠다.

해결방법: "현재 가지고 있는 화폐", "to", "바꿀 화폐"를 차례로 입력한다. 예를 들어 원화를 바트로 바꾸려면 "wons to baht"를 입력하면 된다.





GIF를 찾아라

상황: 예전에 봤던 GIF(일명 움짤)인데, 어떻게 'GIF'파일만 찾는지 모르겠다.

해결방법: '구글 이미지'에 들어가서 'Search tools'를 클릭한다. 그다음 검색어를 입력하고 'Type'에서 'Animated'를 선택한다.





제목으로만 찾아라

상황: 미국 부통령 조 바이든(Joe Biden)의 '졸업앨범'을 찾고 싶다.

해결방법: "intitle:" 다음에 "졸업앨범(yearbook)"을 입력하고 "조 바이든(Joe Biden)"을 더한다. 그러면 "졸업앨범"이 제목으로 들어간 조 바이든의 사진을 우선으로 찾아준다. 또 다른 예로, '타코 만들기'를 검색하고 싶다면 "intitle: 타코 만들기"를 입력하라. "intitle:" 명령어는 바로 뒤에 온 단어만 인식한다. 그래서 제목에 "타코", 내용에 "만들기"가 들어간 문서를 찾아준다. "타코" "만들기" 두 단어가 모두 들어간 제목을 찾고자 할 땐 "allintitle:"을 쓰면 된다.





구글을 회전시켜라

상황: 친구를 놀리고 싶다.

해결방법: "do a barrel roll"를 입력하고 엔터키를 눌러라!






2024년 1월 19일 금요일

Android Studio

단축키

단축키 변경 위치
File > Settings > Keymap
Based on GNOME keymap

리눅스에서는 numeric keypad 쪽 방향키가 먹지 않는다.
Up, Down, Left, Right 키를 찾아서 마우스 오른쪽 클릭
-> "Add keyboard shortcut" 메뉴를 사용하여 keypad 방향키를  추가한다.
** Up과 Up with Selection도 같이 설정 할 것.

Ctrl + B, Ctrl + 마우스 클릭 : define, reference 로 이동

* Keymap - Main Menu - Navigate - Back/Forward 수정
Ctrl + Alt + 좌/우 방향키 : 이전 커서 위치로 가는 단축키 (윈도우)
Alt + Shift + 좌/우 방향키 : 이전 커서 위치로 가는 단축키 (리눅스)
* 2022.3.1 리눅스버전에서 해당키가 작동하지 않아서 Alt + <, Alt + > 키로 변경하였음.

Ctrl + Alt + H : 함수 호출 경로

Ctrl + Shift + A : Find in Action 찾고 싶은 기능을 영어로 입력하면 기능과 단축키가 나열된다.
단축키를 찾을 때 환경 설정의 keymap 으로 들어가는 수고를 줄여준다.
Ctrl + F3 : Find word at Caret
Shift 두번 : 모든 항목에서 찾기
Ctrl + N : 클래스 이름으로 찾기
Ctrl + Shift + N : 파일 이름으로 찾기
F12 : Open Module Settings
Ctrl + F12 : 클래스 함수를 보여줌.

F4 : [Open Module Settings]
Ctrl+Alt+Shift+S : Project Structure
Ctrl + / or Ctrl + Shift + / : 주석 처리

깃허브 외부라이브러리 적용하기

2024년 1월 18일 목요일

Visual Studio Code (vscode)

단축키 변경
File > Preferences > Keyboard shortcuts
Find previous : F3
Find next : F4
View: Open Previous Editor : Alt + LeftArrow
View: Open Next Editor : Alt + RightArrow
workbench.action.closeActiveEditor : Ctrl + F4

Go Back : Ctrl + Alt + minus(-) 원래 숏컷
Go Forward : Ctrl + Shift + minus(-) 원래 숏컷
Go Back : Ctrl + Shift + Left Arrow 예전 숏컷
Go Forward : Ctrl + Shift + Right Arrow (vscode와 통일하기 위해서 변경함) 예전 숏컷
Go Back : Alt + <  (android studio 와 일치)
Go Forward : Alt + >
Go Back in Navigation Locations (workbench.action.navigateBackInNavigationLocations)
: 이전 Navigation 위치로 이동. Ctrl+Alt+Back 로 키 맵핑
Go to Last Edit Location : Ctrl + K, Ctrl + Q
"Go Back"과 "Go Back in Navigation Locations"의 차이점은 없는 것 같다.

{
  "key": "ctrl+alt+-",
  "command": "workbench.action.navigateBack",
  "when": "canNavigateBack"
}

{
  "key": "ctrl+alt+backspace",
  "command": "workbench.action.navigateBackInNavigationLocations"
}

VSCode에서 파일을 저장할 때 라인 끝에 공백을 제거하는 설정을 사용하려면 다음과 같이 하실 수 있습니다:

1. **파일 > 기본 설정 > 설정** 또는 단축키 `Ctrl` + `,`를 눌러 설정 창을 엽니다.

2. 우측 상단 메뉴에서 **열린 편집기 설정**(Open Settings (JSON)) 아이콘(조그만 아이콘, 갖다대면 설명이 나옴)을 클릭하여 `settings.json` 파일을 엽니다.

3. 설정 파일에 다음의 코드를 추가합니다: 만약 이미 `settings.json` 파일에 다른 설정이 있다면, 쉼표로 구분하여 여러 설정을 넣어주어야 합니다.

   "files.trimTrailingWhitespace": true
    "[markdown]": {
        "files.trimTrailingWhitespace": false
    },
    // 다른 설정...

4. 파일을 저장하고 VSCode를 재시작하면 설정이 적용됩니다.

이제 파일을 저장할 때마다 라인 끝에 있는 공백이 제거됩니다. 이 설정은 모든 파일에 적용되며, 파일마다 공백 제거를 원하지 않는 경우, 해당 파일을 저장하기 전에 일시적으로 설정을 비활성화할 수 있습니다.

유용한 단축키
명령 팔레트: Ctrl + Shift + P
모든 명령은 연관된 키 바인딩과 함께 명령 팔레트에 있습니다. 키보드 단축키를 잊어 버린 경우 명령 팔레트를 사용하여 찾을 수 있습니다.

File: Open Recent : Ctrl + R

File > Preferences > Keymaps 에서 다른 에디터의 keyboard map 으로 변경 가능.
아쉽게도 "source insights"는 없었다.

열편집 방법
SHIFT + 오른쪽 화살표 키로 문자열을 선택한 상태에서 ALT 키를 추가로 누르고 화살표 아래 키를 눌러서 열을 선택

DISABLE MINIMAP
minimap에 대고 마우스 오른쪽 눌러서 disable 할수 있다.

DISABLE PREVIEW
File -> Preferences -> Settings [Ctrl + ,] then "workbench.editor.enablePreview": false
왼쪽바에 로고(?) 아이콘 클릭하여 아래 Extention 설치
Active File in Status Bar
현재 활성화 파일의 전체 경로를 왼쪽 아래에 있는 상태 표시 창에 보여준다.
최신버전에서는 상단바에서 전체 경로를 디폴트(?)로 보여주고 있음. 설치 불필요??

테마 변경
File -> Preference -> Settings
Workbench -> Appearance -> Color Theme : Dark High Contrast
최신버전에서는 적용이 안됨. 이유는 모르겠음.

yocto


https://tutorialadda.com/yocto/how-to-do-clean-build-in-yocto-project


2024년 1월 14일 일요일

Docker



동작중인 컨테이너 확인
docker ps

모든 컨테이너 확인
docker ps -a

컨테이너 모두 삭제
docker rm `docker ps -a -q`

컨테이너 삭제
docker rm [컨테이너id], [컨테이너id]

현재 이미지 확인
docker images

이미지 삭제
docker rmi [이미지id]

컨테이너를 삭제하기 전에 이미지를 삭제할 경우

-f 옵션을 붙이면 컨테이너도 강제삭제
docker rmi -f [이미지id]

Docker 컨테이너를 중지하는 방법은 다음과 같습니다:

  1. 명령 줄 또는 터미널을 엽니다.
  2. 현재 실행 중인 컨테이너의 세부 정보를 얻으려면 다음 명령을 입력합니다: docker ps
  3. 여러 컨테이너가 있는 경우, 중지하려는 컨테이너의 ID 또는 이름을 식별하고 복사합니다.
  4. Docker 컨테이너를 중지하려면 다음 구문을 사용합니다: docker stop <container_id>

여기서 <container_id>는 Docker 컨테이너의 ID입니다123. 이 명령을 실행하면 해당 ID의 컨테이너가 중지됩니다2. 이 방법으로 Docker 컨테이너를 중지할 수 있습니다.

참고로, Docker 컨테이너를 삭제하려면 먼저 컨테이너를 중지해야 합니다2. 그런 다음 docker rm <container_id> 명령을 사용하여 컨테이너를 삭제할 수 있습니다3. 이때 <container_id>는 삭제하려는 Docker 컨테이너의 ID입니다3.


두 개의 디렉토리를 맵핑하려면 -v 옵션을 두 번 사용하면 됩니다1. 예를 들어, 호스트의 /path/on/host1 디렉토리를 컨테이너의 /path/in/container1 디렉토리에, 그리고 호스트의 /path/on/host2 디렉토리를 컨테이너의 /path/in/container2 디렉토리에 맵핑하려면 다음과 같이 명령을 실행합니다:

docker run -v /path/on/host1:/path/in/container1 -v /path/on/host2:/path/in/container2 ...

이렇게 하면, 컨테이너 내부에서 /path/in/container1/path/in/container2 디렉토리를 통해 호스트의 /path/on/host1/path/on/host2 디렉토리에 접근할 수 있습니다1.

참고로, 이 방법은 Docker 컨테이너 사이에도 디렉토리를 공유하는 데 사용할 수 있습니다2. 이 경우, 한 컨테이너가 호스트의 디렉토리를 마운트하고, 다른 컨테이너가 그 디렉토리를 마운트하여 공유할 수 있습니다2.


docker run은 Docker에서 가장 중요하고 자주 사용되는 명령어 중 하나입니다123. 이 명령어는 Docker 이미지를 기반으로 새로운 컨테이너를 생성하고, 그 컨테이너에서 특정 명령을 실행합니다12453.

기본적인 형식은 다음과 같습니다2:

docker run (<옵션>) <이미지 식별자> (<명령어>) (<인자>)

여기서 <이미지 식별자>는 필수이며, 이미지 ID나 리파지토리(repository):태그(tag)를 사용할 수 있습니다2.

docker run에는 다양한 옵션들이 있습니다23. 주요 옵션들은 다음과 같습니다:

이러한 옵션들을 사용하여, Docker 컨테이너를 다양한 방식으로 실행할 수 있습니다23.


Docker 이미지를 다른 컴퓨터로 옮기는 방법은 다음과 같습니다:

  1. Docker 이미지를 tar 파일로 저장합니다:
docker save -o <tar 파일을 생성할 경로> <이미지 이름>
  1. 생성된 tar 파일을 원하는 방법(예: USB, 네트워크 공유 등)으로 대상 컴퓨터로 복사합니다12.
  2. 대상 컴퓨터에서 Docker 이미지를 로드합니다:
docker load -i <이미지 tar 파일의 경로>

위의 명령어에서 <tar 파일을 생성할 경로>는 tar 파일을 저장할 경로, <이미지 이름>은 Docker 이미지의 이름, <이미지 tar 파일의 경로>는 tar 파일의 경로를 나타냅니다12.

참고로, Docker 이미지의 이름 대신 이미지 ID를 사용할 수도 있지만, 이 경우 로드된 이미지가 태그를 유지하지 않으므로 이미지에 태그를 추가하는 추가 단계가 필요할 수 있습니다1. 이를 위해 docker tag 명령을 사용할 수 있습니다1.


Docker 컨테이너에 새 볼륨을 추가하려면 다음 단계를 따르십시오:

  1. Docker 컨테이너를 중지합니다:
docker stop <container_name>
  1. 필요한 경우 새 볼륨을 생성합니다:
docker volume create <volume_name>
  1. 업데이트된 실행 명령을 사용하여 컨테이너를 다시 실행합니다. 이때 --volume 플래그를 추가하여 소스 볼륨과 대상 위치를 설정합니다:
docker run -d --name <container_name> --volume <volume_name>:/path/in/container <image_name>

위의 명령어에서 <container_name>은 Docker 컨테이너의 이름, <volume_name>은 Docker 볼륨의 이름, /path/in/container는 컨테이너 내의 대상 경로, <image_name>은 Docker 이미지의 이름을 나타냅니다12.

참고로, Docker Compose를 사용하고 있다면, 볼륨 구성은 설정 파일을 통해 처리되므로 이 과정을 더 쉽게 자동화하고 추적할 수 있습니다1. 이 경우, docker-compose.yml 파일에 볼륨을 추가해야 합니다1. 그런 다음, Docker Compose의 서비스를 재시작할 수 있습니다1.


2024년 1월 10일 수요일

"File "/usr/bin/repo", line 51 def print(self, *args, **kwargs): ^ SyntaxError: invalid syntax" 에러 해결 방법은?

이 에러는 Python 2에서 Python 3의 문법을 사용했기 때문에 발생하는 것으로 보입니다1. Python 2에서는 print가 함수가 아니라 문장이므로, Python 3에서처럼 *args**kwargs 인자를 사용할 수 없습니다1.

리눅스 커맨드에 현재 아이디 값을 넣고 싶다면...

리눅스에서 현재 사용자의 아이디 값을 얻으려면, whoami 또는 id -un 명령어를 사용할 수 있습니다. 이 값은 스크립트나 다른 커맨드에서 사용할 수 있습니다.

예를 들어, 현재 사용자의 홈 디렉토리에 있는 파일을 나열하려면 다음과 같이 할 수 있습니다:

ls /home/$(whoami)

또는

ls /home/$(id -un)

여기서 $(whoami) 또는 $(id -un)은 현재 사용자의 아이디를 반환하고, 이 값은 /home/ 경로에 추가되어 전체 경로를 형성합니다. 이렇게 하면 ls 명령어가 현재 사용자의 홈 디렉토리에 있는 파일을 나열하게 됩니다.

이와 같이 $() 구문은 리눅스에서 괄호 안의 커맨드를 먼저 실행하고 그 결과를 사용하는 방법입니다1. 이를 '커맨드 치환’이라고도 합니다. 이 기능은 스크립트 작성이나 복잡한 커맨드를 만드는 데 매우 유용합니다.

참고로, 이러한 방법은 리눅스와 맥OS에서 모두 동일하게 작동합니다1. 윈도우즈에서는 WSL2를 사용하여 리눅스 환경의 커맨드라인을 사용할 수 있습니다1.


2024년 1월 8일 월요일

barrier, synergy (마우스 키보드 공유, share mouse & keyboard)

BARRIER
- barrier는 synergy v1.9에서 fork 하였음.
- synergy와 호환되지 않음.
- ubuntu 18.04 에서 설치 방법 참조
sudo add-apt-repository ppa:jonathonf/barrier
sudo apt update
sudo apt install barrier
- ubuntu 20.04 이후에는 기본으로 제공됨.
- 직접 빌드 하는 방법 (테스트 해보지 않았음)
https://nanbean.net/synergy-%EC%9D%98-%EB%8C%80%EC%95%88-barrier/

* 서버설정 버튼을 누른 후 서버구성 레이아웃 설정을 해주어야 한다. 왼쪽 상단의 아이콘을 끌어서 원하는 모니터 위치의 격자로 끌어다 놓고 더블 클릭하여 화면 이름에 client PC의 화면 이름을 보고 동일하게 입력 해야 한다. 자동으로 되어야 할 것 같은데 왜 안되는지 모르겠다.
* Wayland 에서는 여전히 정상동작하지 않는다. 로그인 화면 오른쪽 하단 설정버튼을 눌러서 X windows로 변경해 주어야 한다.

SYNERGY
- synergy 최신버전이 유료화되었다. 무료 버전 없음.
- ubuntu 18.04 에서는 하기 명령어를 통해서 synergy 1.8.8 과거 버전 설치가 가능.
sudo apt install sni-qt
sudo apt install synergy

- ubuntu 22.04 용 패키지는 아래 사이트에서 다운 받을 수 있음.
  ubuntu 24.04 용 패키지는 없으며 22.04 용은 정상 설치 되지 않음.
https://github.com/DEAKSoftware/Synergy-Binaries/releases

아래 사이트 바이너리는 아직 테스트 해보지 않았음.
https://github.com/amankhoza/synergy-binaries

Windows 11 세팅

기존에 리눅스만 깔아서 사용중인 삼성컴퓨터에서 Windows 11을 설치 후 정품인증이 되지 않았다. Windows 10을 설치 하여도 여전이 정품인증이 되지 않았다. 이 컴퓨터는 윈도우를 깔아본 적이 없다. 에러코드는 0xC004F213, 윈도우 제...