2024-02-15

git hash를 코드에 define 정의 로 가져오기.

execute_process(
COMMAND git describe --tags --abbrev=7 --dirty --always
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
)

2024-02-05

우분투 23.10 한글 alt_r 제거방법.

필요한사람.
chagpt를 너무너무 많이 쓰는중에. 한글과 영어를 번갈아가며쓰는데,
한글다음 이응'ㅇ' 이나 'ㄹ' 을 빠르게 칠경우,
크롬의 주소창으로 이동되버리거나, 메뉴항목이 활성화되어,
내가 친 질문조합이 크롬을 종료시켜버리는 단축버튼조합이 되버릴수있음.

열띤 gpt와의 토론중에, 저런 김빠지는 상황을 수차례 만났을경우,
업무중단하고, 눈에 불을켜고 alt_r버튼기능 제거를 찾게된다.

우분투 상위버전 (22.04이상)
20.04와 다른방법을 써야한다.

/usr/share/X11/xkb/keycodes/evdev

//<RALT> = 108 주석처리.
<HNGL> = 108  값 변경.

재부팅.

ibus 에서 한글키 설정에서 키입력하면 hangul로 눌려짐.
기 설정되어 있는 ALT_R 삭제.

이상.





2024-02-01

avahi-autoipd 강제 할당.


sudo nano /etc/systemd/system/avahi-autoipd-force.service

[Unit]
Description=Force bind avahi-autoipd to link-local IP

[Service]
ExecStart=/usr/sbin/avahi-autoipd --force-bind <interface>
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

sudo systemctl enable avahi-autoipd-force


2024-01-20

Boost 1.75.0 설치

리눅스에 설치된 boost는 1.74.0 이 설치되어있고, 
log 라이브러리가 설치되어있지도 않다.
이것들을 포함하여 재빌드하여 설치해야, 보드의 환경과 동일하다.

mkdir boost
cd boost
tar xfz boost_1_75_0.tar.gz
cd boost_1_75_0/
./bootstrap.sh
./b2 --with-log
sudo ./b2 install
그냥 알아서 /usr/local/lib에 설치됨.
cmake에 알려줘야지
set(BOOST_ROOT "/usr/local/lib")

끝.

libcurl-7.75.0 설치하기.

크로스컴파일러 세트에 openssl-1.1.1o 가 설치되어있는데, 요즘은 openssl-3.0.x이다.
pc와 보드에서 동일한 소스코드로 동작이 가능하게 하기위함
1점대와 3점대는 함수가 변경됬기때문에 pc에 자동설치되어있는 3.0은 쓸수가 없다.
그리하여, 1.1.1을 추가로설치하고 cmake에게 위치를 알려줬다.
crypto 관련 함수를 쓰기시작하면서, curl 라이브러리를 libcrypto가 찾아쓰는데
libcrypo버전이 3점대인거라 충돌남.
그래서 1.1.1과 호환이 되는 보드에 설치된 libcurl-7.75.0 을 pc에도 추가설치한다.

그 방법은...
curl을 클론한다.

git clone -b curl-7_75_0 https://github.com/curl/curl.git
cd curl/
./buildconf
./configure
make -j32
sudo make install
ls /usr/local/lib

메인 CMakeLists.txt에 설치된 libcurl.so를 알려줘야한다.
set(CURL_LIBRARY "/usr/local/lib/libcurl.so") # OpenSSL이 설치된 디렉터리
find_package(CURL 7.75.0 REQUIRED)
include_directories(${CURL_INCLUDE_DIRS})



2024-01-17

데모나이즈

리눅스 app을 자동실행시켜놓으면
데몬으로 실행된다.
데몬이란, 
"터미널이 연결안된 상태로 백그라운드에서 실행된다." 로 이해하면 될듯하다.

데몬으로 콘솔에서 실행시키려면,
sudo apt install daemonize 
설치하자. 그리고

$ daemonize $(pwd)/s1app0 

조용히 데몬으로 실행된다.

try this.



암호화 + base64 하고 쉘스크립트.

 #!/bin/bash # IV와 UserKey를 설정합니다 (아스키 문자열을 그대로 사용). IV="0123456789abcdef"  UserKey="0123456789abcdef" # IV와 UserKey를 16...