태그 보관물: 문제 해결

vcpkg install 에러 Unable to find a valid Visual Studio instance

go로 avif 비디오 캡쳐 툴을 만들어 볼까 해서 알아보는 중에 아래 라이브러리를 빌드 하려고 했다.
https://github.com/strukturag/libheif
빌드 명령

마지막에 아래와 같은 에러가 나서 결국 비주얼 스튜디오를 설치했다.

비주얼 스튜디오를 설치해야 한단다.

비주얼 스튜디오 설치

아래 공식 사이트에서 커뮤니티 버전으로 다운로드해서 설치한다.
https://visualstudio.microsoft.com/ja/downloads/

인스톨러를 먼저 설치하고 거기서 뭘 설치할지 다시 선택하는 방식인데, ‘C++로 데스크탑 개발’과 ‘C++을 사용한 리눅스 및 임베디드 개발’ 두개를 설치하면 빌드에 문제가 없다.

비주얼 스튜디오 인스톨 선택
한글로 된 화면을 캡쳐하고 싶었는데 언어 선택이 없더라. 윈도우 언어 설정을 따라가는듯…

별거 아닌데 비주얼 스튜디오 설치에 선택지가 한두개가 아니라 고생할 수도 있겠다 싶어 올려둔다.

우분투 서버 24.04 LTS PHP 버전이 여러개 설치 되어 있는 경우

이전 글과 연결됨
우분투 서버 24.04 LTS에 설치한 워드프레스에서 avif 이미지 포맷 사용하기 with gd or imagick

php 8.3을 사용 중에, PHP를 업그레이드하면서 자동으로 8.4 버전이 설치 되어 버렸다.
다른 버전이 설치 되는거야 윈도우였다면 조금 다른 버전이면 덮어쓰기로 설치 될 것이고, 설사 따로 설치가 되었어도 내가 안쓰면 상관이 없는 문제인데 리눅스 시스템에서는 이게 여러가지 문제가 생긴다.

먼저 콘솔에서 php 를 실행하면 새로운 8.4 버전이 실행 된다.
예를 들면 워드프레스에서 imagick 모듈을 설치하고나서, 워드프레스 관리 메뉴에서 도구->사이트 건강으로 들어가서 imagick 모듈이 안보이면 php -m 명령으로 모듈 설치를 확인해야 하는데 php 8.3에 있는 imagick모듈을 설치하고 php -m 명령을 치면 php 8.4의 모듈을 확인하게 되니 설치가 되어있을리가 없다.
웹서버에 연결된 php는 8.3이 되는데, php-fpm은 8.3이 이미 가동 중이었고, 8.4 버전에 fpm은 설치하지 않았으니 웹서버에서 가동하는 php 버전은 8.3이 된다. 8.4 버전에 모듈을 설치하면 웹서버가 작동시키는 php 에서는 모듈이 설치 안되어있으니 작동이 안될 것이다.

모듈 설치시에 아래 두 커맨드처럼 8.3이냐 8.4를 고를때 콘솔에서 작동할건지, 웹서버에서 작동할건지 잘 생각하고 설치해야한다.

속편하게 그냥 둘다 설치하면 제일 좋다.

워드프레스에서 콘솔에서 wp media generate 명령으로 이미지 썸네일을 작성할 수 있는데, 이 커맨드는 콘솔에서 작동하므로 8.4 버전의 php를 사용하게 된다.
워드프레스 관리화면에서 imagick 모듈이 설치 되어 있다고 해도, 이건 php8.3-fpm에 설치되어있다는 뜻.
여기서 헷갈리기 시작하면 망하니 그냥 둘 다 똑같이 모듈을 설치하는게 낫다.

나는 하나만 쓰고 싶다하는 사람이 있으면
update-alternatives를 검색해 보면 된다. 여러 버전에 프로그램이 설치된 경우에 어떤걸 사용할지 정할 수 있다.

우분투 서버 24.04 LTS에 설치한 워드프레스에서 avif 이미지 포맷 사용하기 with gd or imagick

php8.3-imagick 모듈 정보
처음부터 이걸 설치했으면 아무 문제 없었을 것을…

게임 스크린샷을 풀사이즈로 올리니 이미지 파일 용량이 너무 커지는게 신경 쓰였는데, 우분투 서버 버전을 올리고 워드프레스 플러그인 정리를 좀 하다 보니 워드프레스 공식으로 나온 새로운 이미지 포맷 지원 플러그인이 있길래 설치했다.
플러그인에서는 webp, avif 이미지 포맷을 지원하는데 webp 다음에 나온게 avif 포맷이고 지원하는 브라우저는 webp 보다 적다고 하는데 최신 브라우저는 전체적으로 더 좋은건 avif 라 avif 포맷으로 가기로 결정.
플러그인을 설치하고 설정에서 avif 포맷을 선택하고 썸네일 등 이미지 재생성을 하려고 우분투 콘솔에서 wp media regenerate 커맨드를 실행했다.

여기서부터 문제가 발생하는데, 일단 처음엔 php에 있는 gd 모듈이 avif 포맷을 지원하지 않았다.
우분투 서버 24.04 버전에서는 php 8.3을 설치하는데 avif 를 지원한다고 하는 gd 버전이 설치되어 있어도 워드프레스 플러그인에는 avif 지원을 하지 않는다고 표시 된다.
이래저래 알아본 결과 ppa(개인 패키지 저장소)에 있는 gd 모듈을 설치하면 문제 없다는 글을 발견해 리포지토리를 추가.

없을 경우

리포지토리 추가 후

업그레이드를 하면 php8.4도 같이 설치되더라.
php 버전이 두개가 설치되면 좀 헷갈림… php -v 해서 지금 작동하는게 어떤 버전인지 확인하도록. php 8.4가 설치되면 기본적으로 이게 우선된다.

워드프레스 관리화면에서 도구->사이트 건강->정보(탭)->미디어 처리 항목->GD 지원 파일 포맷에 AVIF가 추가 되어있을 것이다.
GD 버전은 2.3.3으로 업그레이드 이전과 같은게 함정.

우분투 콘솔에서 본 php 8.3과 8.4 버전 gd의 정보.

wp media geraerate 커맨드로 다시 avif 파일 생성을 시도해 보면 avif파일이 생성이 되긴하는데 곳곳에 경고가 뜨고, 파일이 제대로 만들어지지 않아 0byte 파일이 생성되거나 하더라.
예를 들면 gd가 팔레트 이미지를 지원하지 않아서 생기는 에러.
Warning: imageavif(): avif doesn’t support palette images

이것저것 찾아보면서 php 에서 gd 외에 이미지 처리를 하는 라이브러리가 imagick 이라고 하나 더 있는데 이걸 쓰면 된다는 이야기가 있어서 설치해 봤다.

8.3, 8.4 두 버전을 설치해야 되는 이유 → 우분투 서버 24.04 LTS PHP 버전이 여러개 설치 되어 있는 경우

그냥 깔끔하게 다 해결 된다.
avif 파일로 가고 싶으면 처음부터 imagick을 설치했으면 아무 문제가 없었을 듯.

우분투 22.04 -> 24.04 업그레이드 후기

워드프레스에서 webp 이미지 포맷을 사용해 보려다 결국 php 버전을 올려야 하는것 같아서 포기하고,
대신 avif 이미지 포맷을 사용하고 싶었는데 마찬가지로 php 버전을 올려야해서 우분투 업그레이드를 해 버렸다.

하는 중에 딱히 문제는 없었고 업그레이드 후에 iptables 설정이 초기화 되서 다시 잡아줘야 됐고,
NGINX와 php 설정이 초기화 되어서 조금 고쳤다.

nginx에서는 /etc/nginx/nginx.conf 파일 제일 위에 아래 유저 부분이 초기화 되서 다시 잡아줬고,

마찬가지로 php 설정에서도 /etc/php/8.3/fpm/pool.d/www.conf 파일을 열어 user 설정이 초기화 되어서 다시 잡아줬다.

이건 여러부분 있으니 잘 수정할 것.

위에 것들을 안고치면 워드프레스에서는 502 에러가 발생하고 로그 파일(/var/log/nginx/error.log)에는 아래와 같이 에러가 나온다.

Dell Inspiron 7472 윈도우11에서 업데이트 후, 터치패드 사용 불가 문제

윈도우 11 23H2 누적업데이트 설치 후, 터치패드에 투핑거 제스쳐라든가 마우스 버튼 기능 등이 작동하지 않는 문제가 있었다.
이전에도 이런 일이 있었는데, 그때는 Intel-HID-Event-Filter-Driver_33CDY_WIN_2.2.1.377_A11_04 드라이버 설치해서 고쳐졌던 기억이 있었는데 이번에는 안되더라.

장치 관리자에서 I2C HID 디바이스에 코드10 에러가 떠 있고, 장치를 시작할 수 없습니다.라고 되어있었다.
Intel-Serial-IO-Driver를 설치해 보라는 글이 있어서 그것도 해 봤지만, 안됨.

I2C HID DEVICE
여기 페이지에 matheus_ap씨 말대로 PS/2 마우스 장치를 제거하고 리부팅하면 기존 PS/2 마우스 드라이버 대신 다른 PS/2 마우스 드라이버가 설치 되면서
I2C HID 에 에러가 사라지고, 터치패드 기능이 모두 원래대로 돌아왔다. 만세!

며칠 후 다시 터치패드 스크롤 기능이 먹통이 되어서 PS/마우스 장치를 제거 했는데 커서가 사라지는 문제가 생겼다.
장치 관리자에서 I2C HID 디바이스가 다시 에러표시가 되어있어서 장치를 제거하고 새로고침(하드웨어 변경을 스캔)하니 고쳐졌다.
계속 이 문제가 생기는 듯…