2020년 1월 10일 금요일

qt on msys2

* 최신 msys2 다운 및 설치

* mingw64.exe 실행

* 패키지 DB 업데이트
# pacman -Syu
종료 후 그대로 창 닫기

* mingw64.exe 다시 실행

* 업데이트
# pacman -Su

* QT 및 필요 패키지 설치
# pacman -S mingw-w64-x86_64-qt5 mingw-w64-x86_64-qt5-static mingw-w64-x86_64-gcc mingw-w64-x86_64-clang make diffutils vim man-db

* QT 프로그램 작성
# mkdir hello
# cd hello
# cat hello.cpp
#include 
#include 

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QPushButton button("Hello world!");
    button.show();

    return app.exec();
}

* windows-vulkan.conf 파일 수정 (참고: https://bugreports.qt.io/browse/QTBUG-76660)
@@ -1,2 +1,2 @@
-load(windows_vulkan_sdk)
+load(win32/windows_vulkan_sdk)
 QMAKE_LIBS_VULKAN       =

* 프로젝트 파일 생성
# qmake -project

* QApplication 헤더 파일의 디렉토리 검색
# pacman -Ql mingw-w64-x86_64-qt5 | grep -w QApplication | sed 's;.*/Qt;;; s;/.*;;' | tr 'A-Z' 'a-z'
widgets

* 프로젝트 파일(hello.pro) 에 헤더파일 디렉토리 추가
@@ -2,6 +2,7 @@
 # Automatically generated by qmake (3.1) Sat Jan 11 16:16:08 2020
 ######################################################################

+QT += widgets
 TEMPLATE = app
 TARGET = qt
 INCLUDEPATH += .

* Makefile 생성
# qmake

* 빌드
# make

* 실행
# debug/hello.exe

2019년 12월 21일 토요일

ibus 실행 안될 때

라즈베리파이 4
라즈비안 버스터

폰트와 한글입력기 설치
$ sudo apt-get install fonts-unfonts-core ibus-hangul

시작 >기본 설정 > iBus 환경 설정을 실행하면 다음 팝업이 뜨고

* IBus  데몬이 실행되고 있지 않습니다. 이를 시작하시겠습니까?

예를 누르면

* IBus 데몬이 5초 이내에 시작하지 못했습니다.

라고 나오며 아무것도 안된다.

터미널에서 실행
$ ibus-setup
(ibus-daemon:1113): IBUS-CRITICAL **: 00:00:39.797: 00:00:39.797384: ibus_write_address: assertion 'pf != NULL' failed
portal is not running: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.freedesktop.portal.IBus exited with status 1

검색해보니 ~/.config/ibus/ 를 지우라고 한다.

pi@raspberrypi:~ $ ls -ld .config/ibus
drwx------ 3 root root 4096 12월 21 23:42 .config/ibus

과연 폴더가 pi 권한이 아니고 루트권한으로 되어 있다.

pi@raspberrypi:~ $ sudo rm -rf .config/ibus

다시 한 번
시작 >기본 설정 > iBus 환경 설정을 실행하니 문제없이 실행되었다.

부팅시 자동으로 IBus 데몬을 실행시키기
$ im-config -n ibus

Shift + Space 키로 아이콘이 태극무니로 바뀌었지만 한글이 안나올 때
태극무니 왼쪽 클릭 > 설정 > 한글 탭에서 다음 항목 체크
[v] 한글모드로 시작


참고
https://bbs.archlinux.org/viewtopic.php?id=116794

2019년 10월 21일 월요일

라이젠 PC 조립 이야기

라이젠으로 PC 를 하나 조립했는데 몇가지 문제가 생겼음.

간단한 사양
AMD 라이젠 7 3700X 마티스
MSI MAG B450 토마호크 맥스
ZOTAC 지포스 GTX 1660 Ti 백플레이트

문제 1. 온보드의 DVI 로 화면이 안나옴
DVI 만 있는 모니터는 온보드의 포트에 연결하려고 했는데,
라이젠은 이름에 G 가 붙은 모델만 내장그래픽을 지원한다고 함.

해결 1. DP-DVI 케이블을 사서 그래픽카드에 연결

문제 2. 부팅이 안되는 경우가 있음
1. 윈도우10 에서 다시시작으로 부팅하는 경우는 정상 부팅.
2. PC 에 전원이 연결된 채 윈도우10 에서 종료 후 부팅하면 문제 발생
3. 2 에서 부팅시 바이오스 부팅로고 (EZ DEBUG 의 boot LED) 전에 본체의 리셋 버튼을 누르면 (부팅 시퀀스를 다시 하면서) 정상 부팅.
4. 윈도우 종료, PC 에 전원을 차단하고 30 초 후에 전원넣고 부팅하면 정상 부팅.
5. 4 에서 전원 차단 30 초 이전에 부팅하면 문제 발생.

* 문제 발생의 경우 다음 증상이 보임
1. 화면이 전혀 안나옴
2. 2분 이상 후에 부팅 됨
3. 부팅은 되나 사운드가 깨짐
4. 윈도우10 이 동작하지 않음

해결 2. 바이오스 펌웨어 다운그래이드로 해결
문제의 버전은 7C02v33.  7C02v32 에서는 문제가 더 심각했고, 7C02v31 로 바꾸니
바이오스 화면까지 3초 늘어났지만 부팅에는 문제가 없음.

# 같은 문제를 찾기 위해 인터넷을 뒤질 때는 보통 바이오스 펌웨어, 윈도우 업데이트를
최신으로 바꿔보라고 나오는데 다운그래이드로 해결
# 윈도우 업데이트는 2019-10-20 기준으로 최신
# 일단 MSI 에 현상 리포트

2018년 12월 26일 수요일

change-id 추가 hook

$ git clone xxx
$ cd xxx
$ scp -p -P 포트 유저명@서버:hooks/commit-msg .git/hooks

2018년 12월 18일 화요일

윈도우 커맨드 라인에서 msys2 의 bash 스크립트 실행

--------------------------------------------------------------------------------
@echo off

set MSYSROOT=D:\msys64

start %MSYSROOT%\usr\bin\mintty.exe -w HIDE --dir "windows\full\path\to\start" /bin/env MSYSTEM=MSYS CHERE_INVOKING=1 /bin/bash -l /msys/or/windows/full/path/to/the/script.sh
--------------------------------------------------------------------------------

start - 스크립트 실행중 커맨드라인 창이 남는 것을 방지
-w HIDE - mintty 실행 창이 보이지 않도록 설정
--dir - 특정 디렉토리로 이동하여 실행. 없으면 홈
CHERE_INVOKING=1 - 홈디렉토리로 이동하는 것을 방지

2018년 5월 1일 화요일

retropie 외장하드 마운트

osmc 사용할 때는 안그랬는데 retropie 를 사용하면서
외장 하드의 마운트 경로가 자꾸 바뀌는 경우가 생겨
삼바 및 kodi 에서 지정한 경로가 못쓰게 되는 일이 많아졌다.

어차피 늘 꽂아 놓고 쓸거고, 자세히 찾아보기도 귀찮아 일단
osmc 에서의 마운트 되었을 때의 옵션을 fstab 에 지정하기로 했다.

$ tail -1 /etc/fstab
UUID=A2346FB8346F8E5B /mnt/A234 ntfs-3g defaults,nosuid,nodev,default_permissions,uhelper=udisks 0 0

UUID 를 얻는 방법은
$ blkid
또는
$ ls -l /dev/disk/by-uuid/

2018년 4월 22일 일요일

micro:bit 시리얼 통신 설정


* 드라이버 설치
윈도 10 아래 버전에서는 드라이버를 설치해야 한다.
https://docs.mbed.com/docs/mbed-os-handbook/en/latest/getting_started/what_need/
에서 시리얼 포트 드라이버 다운로드 및 설치.

* micro:bit 을 USB 로 PC 에 연결

* 테라텀 설정
Setup > Terminal... > New-line
Receive: [CR+LF]
Transmit: [CR+LF]
[*] Local echo

Setup > Serial port... >
Port: [선택 가능한 포트 선택]
Baud rate: [115200]

Setup > Save setup... > 저장

* 테스트
1. micro:bit 을 USB 로 PC 에 연결

2. 아래 예제 다운로드
----------
 serial.onDataReceived(serial.delimiters(Delimiters.NewLine), () => {
basic.showString(serial.readUntil(serial.delimiters(Delimiters.NewLine)))
})
serial.writeLine("ready")
----------

3. 테라텀 연결
File > New connection... > [*] Serial Port: [연결된 COM 포트 선택]

micro:bit 을 리셋하면 테라텀에 ready 가 표시되고,
테라텀에서 hello 엔터 를 입력하면 micro:bit 의 LED 매트릭스에 표시 됨.