2024년 11월 30일 토요일

publish__netbsd도 다뤄보기

 netbsd 를 v..box에 설치해서 소박하게 돌려보는 중이다. 조금이라도 적은 공간을 차지하도록 요즈음 대세인 64bit가 아닌 32bit를 선택해서 하고 있고, 어차피 PC라서, i386, 이것은 요즈음 역시 대세라는 arm 환경은( 이것도 32bit/64bit 를 선택할 수 있고, 이것도 bit가 대세인 눈치이지만, 뱁새의 다리가 짧아) 아직은 ... 뱁새가 어찌어찌 얻은 samsung gal.tab-10에서 돌아가는 android/termux 를 보면 적어도 배터리 절약에 대해서 만큼은 엄청난 성능(? 안 돌아가고 쉬면서 배터리 수명 늘리는 것도 성능!이라면.(쉬는 능력?)...)을 경험하게 되었으니, 그래도 아직은 android/termux에나 만족하면서...

역시 gui를 사용하고, 인터넷 연결은 확실한 상태에서 web browser / 한글 / 영문 모두 잘 작동하면서 창을 이리저리 왔다갔다 하고 screen-shot/긁어-붙이기/등등이 자유로운  v...box를 쓰니 너무너무 편하다. 그냥 컴퓨터 한 대에 통째로 무작정 os를 설치하고 업그레이드하고 콘솔에서 씨름하고, network 연결 안되어서  헤매는 것보다 훨씬 편하다.

최근에 9에서 10으로 upgrade 했다.

참고한 정보는 아래에 있다.

https://www.netbsd.org/docs/guide/en/chap-upgrading.html

그런데, 업그레이드 할 때에 그냥 boot com 이라는 iso 를 받아서 한꺼번에 편하게 하려고 했으나, 막상 이것으로 부팅하여 설치하려고 하니, 그냥 iso 에 있는 것으로 하지 않고, 거의 다 ftp로 새로 받아서 하는 짓거리를 하더라. 그래서 그런지 매우 천천히 진행이 되었고, 문제는 이것으로 끝난 것이 아니라는 것. 아래의

그런데, pkgin repository 설정이 10 이 아닌 9 에 그대로 머물러 있었다.

 

억지로 9로 설정되어 있던 pkgin의 repository를 10으로 바꿔주고 _(  pkgin update )_를 하니, 한참 시간이 걸리더니 upgrade를 할 것이 거의 (1개정도만?) 없고, 최신인데, 그런데 ....

refresh 

라는 것을 거의 모든 설치 package에 다시 해야 한다고 하면서 하나 하나 download 다시하고 다시 설치하고 있는 꼴을 보니 (이것도 천천히 천천히... 아까 iso로 할 때에도 안된다면서 하나하나 다시 다운로드해서 하더니... ) 열 받는다. 원래 이렇게 돌아가는 것인가... 무슨 refresh가 upgrade를 새로 하게 하는 것인다... 

어쨌든 시간이 계속 흐르고 있다.


---

-

--


2024년 11월 25일 월요일

리눅스 최근 배포판 ( 2024년 현재 기준) root 로그인이 안된다 싶을 때??

최근의 리눅스 배포판 ( 예: gooroom(구름), hamonikr(하모니카), opensuse, ubuntu, linux_mint, ... )은  설치할 때에 일반 사용자의 id/password 는 설정/확인을 하지만, root 사용자를 설정하는 절차는 생략되는 추세인 듯하다. 뱁새처럼 기억력이 가물가물하는 사람은 예전에 root 사용자를 어떻게 설정했는지 가물가물하다. 나름 password manager를 사용해 보기도 하지만, 거의 결정적일 때에는 이것에 소홀히 하다가 개고생하기 일쑤이다. 반복적으로 1년에 한두번 정도씩은 의도했든 하지 않았든 이런 상황에 마주하게 된다. 이럴 때마다 뱁새의 미련함에 한탄하지만, 바꿔나가는 것이 쉽지 않은 상황이다.

최근에 하모니카의 업그레이드가 필요한 상황이 되었는데, 일반 사용자(나름 관리자도 일시적으로 될 수 있는 ( sudo사용까지는 되는... ) ) 상황이지만, _( su - )_ 명령에서 요구하는 관리자의 password 는 도저히 기억나지 않고 맞출 수 없는 상황을 겪었다. 나름 개인적인사정으로 몇 달을 컴퓨터에 접근하지 못하다가 다시 다루게 되었는데, 몇 달 전에 어떻게 설정해 놓았는지 까먹고, password manager에도 전혀 정보/hint가 들어있지 않았기에 더더욱 당황스러웠다. 몇날동안 고민하고 시도하고 헤매다가 어제 크게 결심하고 그냥 있는 os를 밀어버리고 다시 설치해 버렸다. 그런데, 이 과정에서 설치 프로그램이 root 사용자의 password 설정에 대해 묻지 않는다는 것을 알게 되었고, ( 기억이 가물가물하지만, 아마도 이전 version upgrade 할 때에도 비슷하지 않았을까, 그래서 당황하고 어떻게 할지 알아볼까 하다가 비상상황을 겪고 이렇게 되었던 듯한 가물가물한 기억이 있긴하지만, 확실하지 않다. ) 멀쩡했지만 root password를 몰라서 밀어버렸던 상황을 이제 새로 설치한 직후에도 바로 다시 겪어야 한다는 악몽같은 두려움에 싸였다. 

이것은 하모니카OS 만의 문제가 아니고, root password를 잊어 버려서 최든 몇 년 사이에 밀어 버릴 수 밖에 없었던 경험은 gooroom4.1 / opensuse / fedora / debian /  windos / freebsd / netbsd / dragonfly bsd 등등 헤아릴 수 없이 두루두루 많이 반복적으로 겪어서 매우 창피할 정도이다. 6개월에서 1-2년 정도만에 로그인해 보는 거의 모든 OS 의 상황에서 이런 일을 겪게 된다. 그것도 꼭 password manager에 등록하는 것을 소홀히 하게 된 직후, 갑자기 보안에 대한 염려가 생기고 새로운 형태의 password를 만들 아이디어가 떠오른 직후에 바꾸는 사고를 친 후, 빠르면 1시간, 오래 기억하면 2-3일 안에 그 기억을 잊어버리고, 헤매게 된다. 새로운 password 형태가 생각이 나면, 이제 또 뱁새가 사고를 칠 때가 되었나하는 느낌을 가지게 된다. --

 

그런데, 이번에는 분명히 새로 밀어버리고 설치하는데 일반 사용자 password만 저장했을 뿐, root 사용자는 설정 절차를 거치지 않은 것을 확실히 기억하고 있고, os를 밀어버리기 전의 기억이 있어서 이번에는 이렇게 _( su - )_ 명령을 해 보면 어떨까하고 해 봤다. 바로 아래처럼 하는 것이다.

_(      sudo su -   )_

이렇게 명령했더니 현재 사용자인 일반 사용자의 password를 묻고는 root 사용자로 바뀌어 있었다 !!

어쩌면 어제 그 멀쩡했던 OS에서도 똑같이 하면 되었을지도 모를 일이다. 이미 밀어버렸기 때문에 돌아가서 확인할 방법은 없지만 말이다.

...

---

-

-


2024년 5월 29일 수요일

Perl__PerlOldDoc 번역해보기?? 번역도 되는 것이었나?

encoding 을 지정할 수 있고, 사용된 것은 아래의 주소에 나오지만,

https://perldoc.perl.org/perlko

소스코드는 일본어 번역 작업이 참고된 듯 하고... ( 일본인들 부지런한 것은 그나마 인정.. )

https://gypark.pe.kr/wiki/Perl/POD#H_3

github에는 같은 이름이 3개의 다른 저장소에 있던데...

keedi (Mr./Ms./님)판...

         https://github.com/keedi/perldoc-kr

JEEN (Mr./Ms./님)판...

         https://github.com/JEEN/perldoc-kr

gypark (님) 판... 이것은 JEEN 님)판으로부터 fork해 온 것이라는 정보가 표시되어 있다, 그리고 aanoaa (님)이 _( PSGI::FAQ 번역중 집중력 저하 )_라는 (2024년 현재 기준으로 14년 전에 작성된) 작업 기록이 남겨져 있다. ( PSGI::FAQ 근처는 번역이 진행이 된 것일까? )

        https://github.com/gypark/perldoc-kr

        작업기록:         https://github.com/gypark/perldoc-kr/commits/master/

----

그나마 (아직은 죽지만은 않은 ... 과연 언제까지? / ) 살아있는 / 한국 사회...  

       https://cafe.naver.com/perlstudy


FastCGI 또는 PSGI 또는  WSGI사용법 in stack_overflow

https://stackoverflow.com/questions/53339936/should-i-migrate-from-cgifast-to-something-else-in-light-of-cgi-pms-deprecate

--

거기에서 나오는 여러 방법들... 검토도 같이 해 줘야 하지? 어렵고 귀찮아서 못 알아 먹겠네..

easy PSGI article ?

https://perlhacks.com/2016/01/easy-psgi/ 

--

https://metacpan.org/pod/CGI::PSGI

--

https://metacpan.org/pod/Plack::Handler::FCGI

--

언제나 그랬듯이 이번에도 맨 밑바닥 결론은 ..  엉망진창 !

2024년 4월 28일 일요일

draft__texi2html 기본 설정 파일 위치 .... Config 은 기본 설정 파일 이름인가/아니면 폴더의 이름인가

 --

-

GNU 'ed' 매뉴얼 (html)의 상황이 amazon회사의 kindle 에 넣기에 그냥은 불가능하다는 사실을 알게 되었고, 여러가지 삽질을 하다가 결국 실패했는데, w3c의 html 점검 기능을 써서 검사를 해 봤을 때에 

 _(    https://validator.w3.org/    )_  html 문서 자체에 심각한 이상이 있다는 것을 그제서야 알게 되었고, ( 일반적인 web browser 로는 읽기는 잘 되었으니 이런 문제가 있다는 것을 모르고 있었다. ) 


처음에는 ( 그러니까, html 검사를 하기 전에는 )  ed_manual.html 도움말 파일이 일반적인  html이 아니라, email의 multi-part 첨부파일의 형식인 꼼수였다는 것은 알고 있었으나, 대충 간단하게 손을 보면 고칠 수 있을 줄 예상했으나 틀려먹었고, 내가 계속해서 수정했던 html 마저도 이상한 문자코드가 들어 있어서 완전히 (치명적 오류)를 발생하는 것과 여러 수정 version 들 마저도 (치명적 오류)까지는 아니어도 각종 구형 문서의 경고들이 난무하는 것을 보고, 처음부터 source  texi 파일 단계에서부터 재변환을 시도하기로 방향이 바뀌었고, ...

 texi2html 을 선택해서 정보를 알아봤는데, 그 과정에서 '기본 설정 파일 위치'인 곳에 결국은 Config  내용에 설정을 저장할 수 있다는 애매모호한 도움말 언급을 보게 되었고, 이 Config 이 디렉토리를 뜻하는지, ..디렉토리 내부에 기본 설정이 들어간 script 파일을 뜻하는지 도움말만 읽고서는 헷갈려서, 소스코드 거의 전체를 뒤져보게 되었다. 찾아 헤매다가 .... 결국 

texi2html.pl  메인 소스코드 내용 중에서 Config 를 검색해서,   204번째 줄에서 아래의 내용이 나오는 것을 확인했고, 설정 perl source file 이름이라는 것을 다시 _( $conf_file_name )_을 찾아보고 확신하게 되었다.

my $conf_file_name = 'Config' ;

이것은 아래에 언급한  _(  texi2html.pl  )_ 파일의  3684부터 3688 번째 줄에 아래의 내용을 보고, 이것이 perl 소스 파일이라는 것도 알게 되었다.

foreach my $file (locate_init_file($conf_file_name, 1))

 

내가 이것을 조금 고쳐서 지금까지 한 것과 같은 의문을 갖고 찾아보기를 하느라 헤매지 않으려면, 이 소스 코드에서 

my $conf_file_name = 'ConfigFile' ;

이라고, 뒤에 ...File 이라는 것을 덧붙이도록 고치고 싶다. 물론 내가 배포를 할 것이 아니기 때문에 그냥 알아서 적응할 것이다.

시간은 이렇게 지나가고 있다.

-

-

 

rust__항간에는 근래에 rust가 안전한 컴파일(compile) 언어로 주목받고 있다 그래서

 웬만하면 rust 정보가 있으면 찾아보게 되었다.

그런데, youtube 에 easyrust 를 만든 이는 서울에서 개발자로 일하고 있으며, 한국어를 무척 잘 하고, 물론 그의 모국어인 영어도 당연히 잘 하는 사람(아래의 영어 강의 사이트에는 Who am I 항목에 자신이 Canada인이라고 함)이 만든 것임을 알게 되었다. ( 놀랍다! )

아래의 유튜브 주소는 한 줄짜리이다. (blog editor에서는 두줄로 표시되고 있어서 한 줄이라고 강조한다.)

아래 _(

https://www.youtube.com/watch?v=W9DO6m8JSSs&list=PLfllocyHVgsSJf1zO6k6o3SX2mbZjAqYE

)_아래 끝. 다시 언급하지만, 위의 주소는 한줄 짜리이다.

188개 정도의 약 10-20여 분짜리 강의 재생목록이다. 

글로 적은 영어로 된 강의도 만들어 놓았다고 하며, rust를 컴퓨터에 설치하지 않아도 실행해 볼 수 있는 실습용 인터넷 site를 구축해 놓았다고도 한다.

글로 적은 rust 영어 강의

https://github.com/Dhghomon/easy_rust/

여기에는 간체 중국어 (현재 중국 대륙 본토 언어/글자)와 인도네시아 언어로 된 곳도 만들어져 있다는 갱신 기록(update)이 있다. (각 언어 사용자 도움으로 ... )


그래서, .... 내 환경이 OpenSuse 에도 설치가 되는지를 알아봤다.( Leap LTS version )

한국 네이버 카페인 linuxmasternet (리눅스마스터넷)의 글 하나에는 rocky linux 8 에 설치한 방법을 알려주고 있었다.

https://cafe.naver.com/linuxmasternet/32157

 

핸드폰으로 볼 때의 주소는 아래와 같다.

https://m.cafe.naver.com/ca-fe/web/cafes/29437110/articles/32157?tc=article_bottom_article_list

여기에서는 curl 이라는 명령어 한 줄로 설치하는 것이었다. 

이것은 rust 언어의 공식 사이트로 보이는 ..

https://www.rust-lang.org/tools/install

..에서 소개한 방법이다. 하지만, 운영체제 배포본에서 배포하는 (배포판마다 다른 rpm/deb/pkg 등등의 )패키지를 설치하는 것에 익숙한 나는, 운영체제 배포판에서 제공하는 package를 찾아봤다.

내 환경에서 보통 패키지를 관리하는 Yast Software 를 실행한 후에 보니, 

rust

rustup

등등이 나왔다.

rust 에 있는 설명은 아래와 같았다.

rust - A systems programming language

Rust is a systems programming language focused on three goals: safety, speed, and concurrency.

(_ ! _) This is the Rust toolchain intended for build pipelines. If you want to install Rust for a development environment, you should install 'rustup' instead. 

--

위의 설명에서 toolchain for build pipelines 라는 말이 무엇인지 이해하지 못했지만, 일단, 내가 쓰기에는 이 rust 패키지가 아니라 rustup 패키지를 설치하라는 설명이라고 이해했다.

rustup 설명은 아래와 같다.

--
rustup - A tool for managing user Rust toolchains

A tool to manager user Rust toolchains. This is generally used by developers managing multiple parallel toolchains in their environment.


rustup 패키지를 설치했다.

설치는 너무 간단하게 끝났다. 허무할 정도이고, 이게 제대로 된 설치인지 의심스러울 정도이다. 

설치된 목록은 아래의 20개 파일이다.

--
rustup - A tool for managing user Rust toolchains

/usr/bin/cargo
/usr/bin/cargo-clippy
/usr/bin/cargo-fmt
/usr/bin/cargo-miri
/usr/bin/clippy-driver
/usr/bin/rls
/usr/bin/rust-analyzer
/usr/bin/rust-gdb
/usr/bin/rust-gdbgui
/usr/bin/rust-lldb
/usr/bin/rustc
/usr/bin/rustdoc
/usr/bin/rustfmt
/usr/bin/rustup
/usr/share/bash-completion/completions/cargo
/usr/share/bash-completion/completions/rustup
/usr/share/zsh
/usr/share/zsh/site-functions
/usr/share/zsh/site-functions/_cargo
/usr/share/zsh/site-functions/_rustup

총 20개 파일

--

이것으로 무엇을 할 수 있을지 모르겠다. 도움말도 설치되지 않은 것으로 보인다. 기껏해야 rustdoc 이라는 명령이 아마도 도움말을 볼 수 있게 해 주는 것일지도 모르겠다는 느낌을 가지고 있다. 그리고, zsh 는 왜 설치되었는지? 설치위치가 .../bin/이 아니고, .../share/라는 점에서, 명령어는 아니고 도움용 폴더인 듯한데, 아직 잘 모르겠다.


-

-


2024년 2월 27일 화요일

draft-yet__X Window 이것저것/programming / input method / true type font ? Wubi

-

24-1130T2115

fc-list 

X11R6인가(?)부터는 이 명령이 있다. 글꼴 설치된 위치와 여러 추가 정보를 보여준다.

opensuse에서 실행한 결과 중에서 한글 글꼴에 해당하는 것만 뽑아낸 결과를 여기에 올린다.

---

 1290:;
/usr/share/fonts/misc/18x18ko.pcf.gz: Misc Fixed Wide:style=ko
1911:;
/usr/share/fonts/misc/20x20ko.pcf.gz: Misc Fixed Wide:style=ko
20:;
/usr/share/fonts/truetype/UnVada.ttf: 은 바다,UnVada:style=Regular
458:;
/usr/share/fonts/truetype/dotum.ttf: 백묵 돋움,Baekmuk Dotum:style=Regular
489:;
/usr/share/fonts/truetype/UnGungseo.ttf: 은 궁서,UnGungseo:style=Regular
497:;
/usr/share/fonts/truetype/batang.ttf: 백묵 바탕,Baekmuk Batang:style=Regular
527:;
/usr/share/fonts/truetype/NanumGothicCoding.ttf: 나눔고딕코딩,NanumGothicCoding:style=Regular
557:;
/usr/share/fonts/truetype/Guseul.ttf: 구슬,Guseul:style=Regular
785:;
/usr/share/fonts/truetype/EunjinNakseo.ttf: 은진 낙서,Eunjin Nakseo:style=Regular
940:;
/usr/share/fonts/truetype/UnPen.ttf: 은 펜,UnPen:style=Regular
1063:;
/usr/share/fonts/truetype/hline.ttf: 백묵 헤드라인,Baekmuk Headline:style=Regular
1067:;
/usr/share/fonts/truetype/Daewoo-Mincho-Wide-Regular.otb: Daewoo Mincho Wide:style=Medium
1074:;
/usr/share/fonts/truetype/UnBatangBold.ttf: 은 바탕,UnBatang:style=Bold
1154:;
/usr/share/fonts/truetype/UnDinaruLight.ttf: 은 디나루,UnDinaru:style=Bold,Light
1186:;
/usr/share/fonts/truetype/UnBom.ttf: 은 봄,UnBom:style=Regular,Bold
1254:;
/usr/share/fonts/truetype/UnShinmun.ttf: 은 신문,UnShinmun:style=Regular
1345:;
/usr/share/fonts/truetype/Bandal.ttf: 반달,Bandal:style=Regular
1388:;
/usr/share/fonts/truetype/NotoSansCJKkr-Bold.otf: Noto Sans CJK KR:style=Bold
1396:;
/usr/share/fonts/truetype/UnYetgul.ttf: 은 옛글,UnYetgul:style=Regular,Bold
1486:;
/usr/share/fonts/truetype/gulim.ttf: 백묵 굴림,Baekmuk Gulim:style=Regular
1516:;
/usr/share/fonts/truetype/NanumGothicExtraBold.ttf: 나눔고딕,NanumGothic,NanumGothicExtraBold,나눔고딕 ExtraBold:style=Bold,ExtraBold,Regular
1707:;
/usr/share/fonts/truetype/UnPenheulim.ttf: 은 펜흘림,UnPenheulim:style=Regular
1712:;
/usr/share/fonts/truetype/UnDinaruBold.ttf: 은 디나루,UnDinaru:style=Bold
1936:;
/usr/share/fonts/truetype/NotoSerifCJKkr-Regular.otf: Noto Serif CJK KR:style=Regular
2125:;
/usr/share/fonts/truetype/NanumGothic.ttf: 나눔고딕,NanumGothic:style=Regular
2140:;
/usr/share/fonts/truetype/NanumMyeongjoExtraBold.ttf: 나눔명조,NanumMyeongjo,NanumMyeongjoExtraBold,나눔명조 ExtraBold:style=ExtraBold,Regular
2175:;
/usr/share/fonts/truetype/UnTaza.ttf: 은 타자,UnTaza:style=Regular
2205:;
/usr/share/fonts/truetype/Daewoo-Gothic-Wide-Regular.otb: Daewoo Gothic Wide:style=Medium
2359:;
/usr/share/fonts/truetype/NanumMyeongjo.ttf: 나눔명조,NanumMyeongjo:style=Regular
2539:;
/usr/share/fonts/truetype/UnJamoSora.ttf: 은 자모 소라,UnJamoSora:style=Regular
2560:;
/usr/share/fonts/truetype/NanumPen.ttf: 나눔손글씨 펜,Nanum Pen Script:style=Regular
2626:;
/usr/share/fonts/truetype/UnPilgi.ttf: 은 필기,UnPilgi:style=Regular
2657:2658:;
/usr/share/fonts/truetype/UnJamoBatang.ttf: 은 자모 바탕,UnJamoBatang:style=Regular
/usr/share/fonts/truetype/NotoSansCJKkr-Regular.otf: Noto Sans CJK KR:style=Regular
2855:;
/usr/share/fonts/truetype/NanumGothicBold.ttf: 나눔고딕,NanumGothic:style=Bold
2958:;
/usr/share/fonts/truetype/Eunjin.ttf: 은진,Eunjin:style=Regular
3004:;
/usr/share/fonts/truetype/UnGraphicBold.ttf: 은 그래픽,UnGraphic:style=Bold
3027:;
/usr/share/fonts/truetype/NanumGothicCodingBold.ttf: 나눔고딕코딩,NanumGothicCoding:style=Bold
3072:;
/usr/share/fonts/truetype/UnJamoDotum.ttf: 은 자모 돋움,UnJamoDotum:style=Regular
3116:;
/usr/share/fonts/truetype/NanumMyeongjoBold.ttf: 나눔명조,NanumMyeongjo:style=Bold
3226:;
/usr/share/fonts/truetype/UnDotumBold.ttf: 은 돋움,UnDotum:style=Bold
3241:;
/usr/share/fonts/truetype/UnDotum.ttf: 은 돋움,UnDotum:style=Regular
3363:;
/usr/share/fonts/truetype/NotoSerifCJKkr-Bold.otf: Noto Serif CJK KR:style=Bold
3369:;
/usr/share/fonts/truetype/UnJamoNovel.ttf: 은 자모 노벨,UnJamoNovel:style=Regular
3376:;
/usr/share/fonts/truetype/UnDinaru.ttf: 은 디나루,UnDinaru:style=Regular
3433:;
/usr/share/fonts/truetype/UnGraphic.ttf: 은 그래픽,UnGraphic:style=Regular
3440:;
/usr/share/fonts/truetype/UnBatang.ttf: 은 바탕,UnBatang:style=Regular

---


-

24-1128:

xterm font 한글 글꼴이 잘 안되는 것이 gooroom OS이다.

18x18ko.pcf.gz 글꼴이 없었고, 이것은 debian 패키지인 

xfont-base                    (  1:1.0.5_nmu1 ) 을 설치하니 

18x18ko.pcf.gz 글꼴이 설치된 것을 발견했다. 설치 위치는 

/usr/share/fonts/X11/misc/

폴더 위치였다. 하지만, 여전히 xterm 에서는 한글이 표시되지 않았고, 

찾아 헤매다가

여기에서 fontpath가 설정이 잘 되지 않은 것을 발견했다.

이 내용을 

https://www.x.org/releases/X11R7.5/doc/fonts/fonts.html#SEC-INSTALLING

 의 설명을 

Font path catalogue directories 
이라는 제목아래의 내용은 이 내용을 어느 위치 (어느 폴더 ? 어느 이름의 파일 ?)에 넣을 것인지가 나오지 않는 x판인 설명이다. 이것으로 아주 헤매게 된다.
$>[ xset q ]
라는 명령으로 알아보니 fontpath가 기본적으로는 
/usr/share/fonts/X11/Type1,built-ins
라고만 표시되는 것이다. 내가 xterm에서 사용하고 싶은 18x18ko.pcf.gz 파일이 있는 
/usr/share/fonts/X11/misc 
위치가 없다. 그래서 이 매뉴얼의 이후의 내용에 따라
$>[ xset +fp /usr/share/fonts/X11/misc ]
라고 해 주고, 그 상태에서 새로운 xterm 실행시켰더니, 내가 마음에 들어 했던 한글 글꼴이 표시되었다. 18x18ko.pcf.gz 글꼴이었다.
이것이 있었어도 아까의 font-path 설정이 미비하면 xterm에 표시되지 않는 것이었다.
이제 이 font-path 설정을 임시적이 아닌 지속되는 설정으로 해야 하는데, 그 설정 정보의 위치에 대해 dog-x같은 설명을 하고 있는 것을 발견했다.

이 설정의 위치는 xorg.conf 에   대해서, 
>$[ man xorg.conf ] 명령을 하면 나온다. 

-

그리고, 이 설정에 성공하면, 이 패키지에는 눈에 거슬리는 daewoo 글꼴 파일들인 

/usr/share/fonts/X11/misc/hanglg16.pcf.gz

/usr/share/fonts/X11/misc/hanglm16.pcf.gz

/usr/share/fonts/X11/misc/hanglm24.pcf.gz

폰트들도 같이 들어 있어서, 이번에는 emacs (GUI) 프로그램의 한글 글꼴을 망가뜨린다. 그래서, 이것들은 제거하도록해야 emacs (GUI) 에서 글자가 망가지지 않는다.

 --

위의 구름OS 에서의 문제해결 성공을 계기로, 잘 작동하고 있던 환경인 OpenSuse15.6에는 어떻게 되어 있는지를 알아봤다. 처음은 잘 될 듯했지만, 역시 결론까지 순탄하게 진행되지는 못했고, 탐색을 일단 접으려고 한다. 

--

일단 설치된 font package 는 목록이 Debian 을 기반으로 하는 GooRoom OS와 조금 다르다.

설치되어 있던 X11 System 기본 글꼴은 

xorg-x11-fonts  / xorg-x11-fonts-core  / xorg-x11-fonts-legacy  

 ( 각각 version 7.6-13.6.1   이다. )

/  xorg-x11-fonts-converted ( version 7.6-13.6.5 이다. )

여기에서 문제가 된 18x18ko.pcf.gz 글꼴을 포함하고 있던 것은 

xorg-x11-fonts-core  패키지였다.

그리고, emacs GUI 한글을 보기에 거슬리게 했언 daewoo 글꼴들은 아직 어느 package에서 설치되는지를 찾지 못했다.

hanglm24.pcf.gz / hanglm16.pcf.gz / hanglg16.pcf.gz 

파일들이 opensuse 설치 system의 어디에서 왔고, 어떻게 /usr/share/fonts/misc/fonts.dir 파일에 daewoo 라는 이름으로 포함되게 되었는지는 알지 못하겠다.

상식적이라면, xorg-x11-fonts-core  패키지에서 같이 설치되고 있어야 할 터이다. 하지만, _( yast software )_에서 확인한 파일 목록에는 이 패키지에 위의 파일들이 포함되어 있지 않다.

어쩌면 내가 임의로 이 파일들을 제거했기 때문에  _( yast software )_ 에도 나오지 않는 것일까? 가능성은 낮지만, 그렇게 밖에 상상하기 힘들다.

알아보는 실험은 나중에 하기로 하자. 오늘은 다른 주제로 ...

20x20ko.pcf.gz 글꼴은 xterm-bin (version 330-150200.11.15.1 )에서 설치되고 있었다.

하지만, 화면 표시에는 기본적으로는 한글은 18x18ko.pcf.gz 글꼴을 사용하고 잇었다.

나중에 더 ...

그리고, 명령어 _( xset q )_ 하면, 

Font Path:
  /usr/share/fonts/misc:unscaled,/usr/share/fonts/Type1/,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/ghostscript/,/usr/share/fonts/cyrillic:unscaled,/usr/share/fonts/truetype/,built-ins 

라고 나온다. 하지만, /etc/X11 폴더 등을 아무리 뒤져봐도Font Path를 이렇게 설정한 설정 파일은 나오지 않았다. ( 내가 못 찾았다는 것이 더 정확하다. ) 조금이라도 비슷한 내용은

/etc/fonts/fonts.conf 파일인데, 여기의 내용은 

<dir>/usr/share/fonts</dir>
    <dir>/usr/X11R6/lib/X11/fonts</dir> <dir>/opt/kde3/share/fonts</dir> <dir>/usr/local/share/fonts</dir>
    <dir prefix="xdg">fonts</dir>
    <!-- the following element will be removed in the future -->
    <dir>~/.fonts</dir>

으로 되어 있어 /usr/share/fonts/misc 라는 위치와는 거리가 멀다. (맨 첫 항목만이 한 단계 /misc 만 더 있었다면 되었겠지만, 결국은 없는채로 끝났다. )

그런데, 어떻게 _( xset q )_ 명령에는 .../misc 가 맨 처음에 나와서 올바르게(?) xterm에 쓰이는 한글 글꼴을 찾게 될까? 

잘 작동해도 모르겠고( OpenSuse ) , 오작동해도 모르겠고( GooRoom ), ....

----

_( 24-0228 작성함 )_


https://www.x.org/releases/unsupported/lib/IMdkit/

-

위의 web 폴더는 unsupported 라는 이름에 있는 것에서 알 수 있듯이 지원되지 않는 기능인데, library인 IMdkit 는  내가 관심있는 X Input Method 의 개발 kit(Development Kit; IMdkit) 이며, 이 내부에 있는 문서(아래에 연결을 기록해 놓은 README 문서)에 의하면 Input Method Server 를 개발하고 테스트하는데에 도움이되도록 만든 기능이다.

-

https://www.x.org/releases/unsupported/lib/IMdkit/README

-

https://www.x.org/wiki/Documentation/

-

https://www.x.org/wiki/guide/

-

https://www.x.org/wiki/UserDocumentation/

-

xlib 기반 X Input Method ( XIM; )

-

https://www.x.org/releases/current/doc/libX11/libX11/libX11.html#Input_Methods

-

x.org 최신 문서에 따르면, 이제 XLib는 새 프로그램 작성에 권장되지 않고, 대신 XCB를 사용하는 것이 권장된다고 한다. 

( 그러나, 그러나, ..... , 이것은 알고보니,.....  새롭다기보다는 매우 오래된 것으로, (물론 XLib 보다야 나중에, 한참 나중에 나온 것이지만, 그래도,  이 글을 쓰는 서기 2024년 기준으로는 전반적인 IT 업계의 빨리 돌아가는 시간 개념으로는  매우 오래된, ...

출처:    _( 구글검색:    x     C    binding   )_ 결과로 ...

-

https://forums.freebsd.org/threads/libxcb-x-c-binding-library.81694/

 Aug 14, 2021 에 작성된 게시글... 에 나온 추가 참고 출처인 ...

-

https://xcb.freedesktop.org/History/

에 의하면 2003년-2004년 쯤에 제안과 본격적인 개발이 시작되었고, 2005년 쯤에 어느정도 완성되었으나, 약간의 bug 가 남아 있는 상태라고 적힌 것이 그 마지막 상태이다. 무려 거의 20년전 이후로 새로 진행된 것이 없는 ... 중도포기인 것으로 보이는 것이며, M4 protocol 이라는 것을 기반으로 했지만( 이것이 범용 macro 언어인 M4와 같은 것인지 아닌지는 모른다...  ; 나중에 아래의 freedesktop.org에 있는 XmlXcb 문서를 확인한 결과 이 M4가 바로 범용 macro 언어인 M4 임이 맞다는 것이 확인되었다. ) , 거의 곧바로 XML 기반으로 바뀌고 XSLT-기반 (C 결합) ( = C binding ) 뭐시기로 바뀌었다. 그리고 10년-20년이 그냥 흘러갔다. 저자는 왜 그만두게 되었을까? 아래의 문서는 wiki 문서이며 이력을 확인할 수 있다. 

-

https://xcb.freedesktop.org/XmlXcb/

문서에 나오는 웹 문서에 (2024년 02월22일 현재 기준으로 )  2014년11월이 최근 개정된, 그리고 이 문서 후반에 나오는 실마리로는 2004년에 처음 작성되기 시작한 문서로 보이는 정보가 있다...

)

이고, X.org에는 (2024년 02월22일 현재.. )

 https://www.x.org/releases/current/doc/index.html

의 목록에는 XCB 관련문서는 단 1개로,

-

Basic Graphics Programming With The XCB Library

Basic Graphics Programming With The XCB Library

라는 매우 기초 소개 수준의 입문 tutorial 문서 하나만이 그 아래의 ( 매우 오래되신 어르신 뻘이 되는...) 

XLib / Xprotocol 관련 문서들과 함께 목록에 게시되어 있다. XLib 제목을 달고 있는 것은 3개가 있는 것과 대조적이다.

-

-

https://www.x.org/releases/X11R7.7/doc/libxcb/tutorial/index.html

-

-

fcitx 는 x.org 와는 독립된 별도의 단체이다. 하지만 x-window용 input method를 만들고 있다.

https://github.com/fcitx/xcb-imdkit

-

https://www.x.org/releases/X11R7.7/doc/libX11/i18n/compose/libX11-keys.html

-

https://www.x.org/releases/X11R7.7/doc/libX11/i18n/compose/ko.html

-

https://www.x.org/releases/X11R7.7/doc/libX11/i18n/compose/ko_KR.UTF-8.html

-

x.org  /   freedesktop.org  에서는 xkb 등등에 힘쓰고 있는 것 같다. 하지만, 현재 많이 쓰고 있는 확장은 xim ( x input method, icccm, 등등이다. 더 확장은 각종 변이(?)인 fcitx, uim, ...

https://en.wikipedia.org/wiki/X_Input_Method

 여기에 소개된 것 들만 해도, ...   

 IBus, Fcitx, SCIM, uim and IIIMF       ...

모두 X Window System (x.org)과는 직접 관련이 없지만 X Window용 input method를 만들고 있다. 왜 이렇게 많은 종류의 input method가 갑자기 많이 늘어나고 있을까? XIM은 뭔가 더 오래 사용할 수 없는 이유가 생긴 것일까?

더 일반적인 ( X window 말고... ) (input method) 는 ... 

-

https://en.wikipedia.org/wiki/Input_method

-

 https://en.wikipedia.org/wiki/List_of_input_methods_for_Unix_platforms

-

xim은 이제 잘안 쓰인다는 충격적인 언급...

여기의 목록에는 fbterm도 있는데, 잘 모르는 단체이다.

-

https://code.google.com/archive/p/fbterm/

-


https://en.wikipedia.org/wiki/Korean_language_and_computers

( x.org 는 정신을 못차리고 있나?? )

-

X Window에서만 ( hibernation / sleep / standby / hybrid ) 등등이 되는 것 같다.  다시 말해서, 

framebuffer 상태로  바꾸면 (Ctrl+Alt+(F1/F2/F3/.../F5/...) 이 기능이 바뀌는 것으로 보인다. 그리고, command-line 명령어를 찾을 수 없었다. 왜 그렇지? (나만 못 찾은 것인가? 아니면 존재하지 않는 것인가? )

https://www.x.org/releases/X11R7.7/doc/libXext/dpmslib.html

-

https://en.wikipedia.org/wiki/Sleep_mode

여기에서 linux 를 검색해 보자.

-

https://en.wikipedia.org/wiki/Hibernation_(computing)

여기에서 linux를 검색해보면 설명과 함께, ...

swsusp    (sw    그리고 susp    (  SoftWare    SUSPend )

그리고 

uswsusp   (usw   그리고 susp    두개를 붙이면 외우기 쉽다.  User mode  SoftWare SUSPend ... )-

code 는 아래에 있는 듯한데...

https://suspend.sourceforge.net/

--

아무래도 잘 안나와서 _( 구글 검색:    how to hibernate linux in command line  )_ 했더니 아래의 문서가 나왔다.

-

https://medium.com/@oldguestwriters/how-to-hibernate-in-linux-16c0bb38cca1

여기에서는 

sudo systemctl hibernate

명령어를 쓰면 된다고 한다.

info 명령어를 통해 systemctl 명령어 옵션을 뒤져보니까 1894번째 줄 (64%) 정도부터

suspend        설명과   hibernate  /  hybrid-sleep   /    suspend-then-hibernate 

각각의 옵션과 설명이 나왔고 이것이 내가 찾던 전원 관리 명령 옵션이었다.

-

추가로 wubi가 아직 살아 있다고 한다.

https://en.wikipedia.org/wiki/Wubi_(software)

그리고, 이 글에 의하면 최신 wubi는 wubiuefi 로 바뀌었으며,  ...

https://github.com/hakuna-m/wubiuefi/releases

-

-


2024년 2월 7일 수요일

MC tips

-

  1. Quick Search :  (Ctrl+S) or (Alt+S)//  starts File name search in the directory listing.
  2.  CMDL:   (Alt+Enter) or (Ctrl+Enter)// copy the currently selected file to the command line /// { (Ctrl+M) also may work for personal experience. }
  3. CMDL:  (Ctrl+Shift+Enter)//  copy the full path name currently selected file.
  4. CMDL:  (Alt+Tab)//  Auto completion for you. /// { WARNING!   FAIL almost always, by Windo(R) style WindowManager shortcut overlap. Then, change MC key or W.M. sh.cut. In writer's case, change MC key to (Ctrl+Tab). /// Or use JUST DIFFERENT APPROACH to change mode to normal shell command line with (Ctrl+O) and start type command and auto complete using normal (Tab) key, after completion, return to MC menu mode screen by finally typing (Ctrl+O) again.  }
  5. CMDL:  (Ctrl+X) T  / (Ctrl+X)+(Ctrl+T)//   Copy currently Tagged(or selected) file of the current panel   / of the other panel
  6. CMDL:  (Ctrl+X) P / (Ctrl+X)+(Ctrl+P)//   Copy path name of current panel  / the other panel
  7. CMDL: (Ctrl+Q)//   Quote command used to insert character otherwise interpreted by MC (like the  '+' symbol )
  8. CMDL: (Alt+P) / (Alt+N)// Browse through command history. (P)->Previous(last entry) (N)->(Next one)
  9. CMDL: (Alt+H)//  displays the History for the Current input line.

 

 

-

-

-