0. 준비

  가. ubuntu

  나. tmux 3.0a

 

1. 설정

  가. $ vi .tmux.conf

    1) set -g mouse on

      가) 마우스로 윈도우 사이즈 조정 가능

    2) unbind t

      가) t를 단축키로 할당하므로 기존의 t(clock mode)를 해제

    3) bind-key -T prefix t new-window \; split-window -v \; split-window -h 'htop' \; select-pane -t 0 \; split-window -h \; select-pane -t 0 \;

      가) 새로운 윈도우을 생성, 윈도우를 상하로 분리(상하팬이됨), 하부팬을 좌우로 분리(좌우팬이됨)하고 우측팬에 htop명령어 실행, 상부팬을 선택, 팬을 좌우로 분리(좌우팬이됨), 좌측상단팬을 선택

      나) 새로운 윈도우 생성을 하지 않을 경우 new-window \;를 삭제할 것

 

0. WSL2 in Windows10

  가. 22H2(OS Build 19045/3693)

  나. WSL2(Ubuntu20.04)

  다. 참고자료

    1) https://learn.microsoft.com/en-us/windows/wsl/connect-usb

 

1. USB/IP 설치

  가. Windows10에서

    1) https://github.com/dorssel/usbipd-win/releases/download/v3.2.0/usbipd-win_3.2.0.msi

    2) msi 설치

  나. WSL2에서

    1) $ sudo apt install linux-tools-generic hwdata

    2) $ sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/*-generic/usbip 20

 

2. USB/IP 활용

  가. Windws10에서 시리얼장치 검색

    1) PowerShell 실행(관리자권한)

      가) > usbipd wsl list

      나) 사용하려는 장치의 BUSID를 확인해 둘 것

      다) > usbipd wsl attach --busid <busid>

        (1) 장치가 WSL2로 연결됨

        (2) > usbipd wsl detach --busid <busid>

          (가) 장치 분리

  나. WSL2에서 시리얼장치 확인

    1) Terminal

      가) $ lsusb

0. 준비

  가. Ubuntu

  나. 특정포트는 애플리케이션에서 root권한이 있어야지 포트를 사용할 수 있음

    1) well-known port : 0~1023

 

1. $ sysctl net.ipv4.ip_unprivileged_port_start

  가. 해당 명령을 실행하면 root권한없이 사용할 수 있는 포트의 시작번호를 알려줌

  나. 1024가 기본으로 설정되어 있음

  다. 필요시에만 사용하려면

    1) $ sudo sysctl net.ipv4.ip_unprivileged_port_start=0

      가) ip_unprivileged_port_start와 =과 0은 붙여야함(공백없이)

 

2. service 파일 등록(운영체제 동작시마다)

  가. /etc/systemd/system/port502.service

    1) sysctl 명령어의 위치는 which sysctl로 확인하여 전체경로를 입력(/usr/sbin/sysctl일 수도 있음)

[Unit]
Description=port502open

[Service]
ExecStart=/sbin/sysctl net.ipv4.ip_unprivileged_port_start=0

[Install]
WantedBy=multi-user.target

  나. $ sudo systemctl enable port502.service --now

    1) now를 붙이면 systemctl enable 후에 systemctl start와 동일한 동작

0. 준비

  가. $ ip addr에서는 장치가 인식되어 있음을 확인함

  나. $ ifconfig에서는 장치가 나타나지 않음

    1) $ ifconfig 해당장치 up을 할 경우 장치가 나타남

  다. GUI로 설정할 경우 GUI에서 네트워크카드가 나타나지 않음

 

1. 해결

  가. $ sudo touch /etc/NetworkManager/conf.d/10-globally-managed-devices.conf

  나. $ sudo systemctl restart NetworkManager

L0. 준비

  가. odroid go advance

  나. ubuntu 18.04 이미지

    1) https://wiki.odroid.com/odroid_go_advance/os_image/ubuntu_es

 

1. 기본 설정

  가. ssh 접속

    1) 기본 ID, PW : odroid, odroid

  나. 패키지 최신 업데이트

    1) $ sudo apt update && sudo apt upgrade -y

    2) 재부팅

  다. joystick 소스코드 다운로드(from github)

    1) private 패키지이므로 github cli 설치

      가) https://github.com/cli/cli/blob/trunk/docs/install_linux.md

    2) 인증도 실시할 것

    3) $ git clone https://github.com/kajuha/oga_joy.git 

 

2. 우분투 응용 프로그램 패키지 등 설치

  가. $ sudo apt install build-essential libboost-all-dev libncurses5-dev

  나. 재부팅

 

3. 소스코드 수정 및 컴파일

  가. oga_joy 디렉토리내 kajuha/kapp 텍스트 문자열을 모두 odroid/oga_joy 으로 수정

    1) kajuha/kapp : 사용자 계정 / oga_joy의 변경된 명칭

  나. oga_joy/joystick 디렉토리에서

    1) $ make

  라. oga_joy/setting/add_menu_emulationstation 디렉토리에서

    1) $ make

  마. oga_joy/setting/systemd/getty@tty1.service.d 디렉토리에서

    1) override.conf 내용의 kajuha 을 사용자 계정 odroid로 변경할 것

    2) $ sudo systemctl enable getty@tty1

    3) $ sudo mkdir /etc/systemd/system/getty@tty1.service.d

    4) $ sudo ln -s `readlink -f override.conf` /etc/systemd/system/getty@tty1.service.d

      가) 홑따옴표가 이나라 backquote

 

4. 기존 서비스 비활성화

  가. $ sudo systemctl disable emulationstation

  나. $ sudo systemctl disable firstboot

  다. $ sudo systemctl disable gamestream

 

5. 쉘 수정

  가. zsh 설치(기본 쉘로 만들 것)

    1) 아래의 $TTY가 bash에서 응답하지 않았음

  나. 사용자 쉘(.bashrc 또는 .zshrc 등)의 마지막에 아래 추가

------------------------------------------------------------------

if [ $(ps -e|grep -i emulationstatio|wc -l) -ne 0 ]
then
    echo "emulationstation running"
else
    if [ $(echo $TTY|grep -i tty|wc -l) -ne 0 ]
    then
        echo "because of LCD, emulationstation run"
        /usr/bin/emulationstation/emulationstation.sh
    else
        echo "because of not LCD, don't run emulationstation"
    fi
fi

------------------------------------------------------------------

0. 준비

  가. odroid m1

  나. ubuntu 20.04

  다. kernel : odroidm1-4.19.y

 

1. 기본설정 확인

  가. $ dmesg|grep -i can

    1) can과 관련된 커널 메시지가 있는지 확인

    2) 기본 설치에는 없음

  나. $ sudo vi /boot/config.ini

    1) can0와 i2c1이 같은 핀을 공유하므로 i2c1을 해제하고 can0를 설정

    2) overlays = "i2c0 i2c1" 을 overlays = "i2c0 can0"로 변경

    3) 재부팅

  다. $ dmesg|grep -i can

    1) CAN device driver interface 가 출력됨

    2) rockchip_canfd: module license 'unspecified' taints kernel.

    3) rockchip_canfd: Unknown symbol .......... (err -2)

    4) 에러 발생함

 

2. 에러 해결

  가. 커널 가져와서 커널 모듈 컴파일 시도

    1) $ git clone --depth 1 https://github.com/hardkernel/linux.git -b odroidm1-4.19.y

      가) $ make menuconfig

        (1) 실행후 저장후 종료

      나) $ make modules

      다) $ find .|grep -i rockchip_canfd

        (1) 모듈 인스톨을 해도 되지만, 해당 모듈만 복사하려고 하였음

        (2) drivers/net/can/rockchip/ 에 커널 모듈 생성됨

      라) $ sudo find /|grep -i rockchip_canfd

        (1) /usr/lib/modules/4.19.219-odroid-arm64/kernel/drivers/net/can/rockchip/

      마) $ sudo cp drivers/net/can/rockchip/*.ko /usr/lib/modules/4.19.219-odroid-arm64/kernel/drivers/net/can/rockchip

        (1) 재부팅

  나. dmesg 확인

    1) $ dmesg|grep -i can

      가) rockchip_canfd: version magic '4.19.219 SMP mod_unload aarch64' should be '4.19.219-odroid-arm64 SMP mod_unload aarch64'

      나) 커널과 커널버전 모듈이 다름으로 인한 에러

        (1) 커널 버전은 동일하므로 뒤에 붙는 로컬버전 메시지가 다름으로 인한 에러

    2) 커널에서 버전 수정

      가) $ make menuconfig

        (1) General setup

        (2) Local version - append to kernel release

          (가) 선택하여 "-odroid-arm64" 입력

      나) $ make modules

        (1) missing MODULE_LICENSE() 경고 발생

  다. MODULE_LICENSE() 수정

    1) $ vi drivers/net/can/rockchip/rockchip_can.c

      가) 맨 마지막줄에 MODULE_LICENSE("GPL");

      나) 라이센스는 임시로 GPL로 부여

    2) $ vi drivers/net/can/rockchip/rockchip_canfd.c

      가) 맨 마지막줄에 MODULE_LICENSE("GPL");

      나) 라이센스는 임시로 GPL로 부여

    3) $ make modules

    4) $ sudo cp drivers/net/can/rockchip/*.ko /usr/lib/modules/4.19.219-odroid-arm64/kernel/drivers/net/can/rockchip

      가) 재부팅

    5) $ dmesg|grep -i can

      가) 에러없음

 

3. can loopback 시험

  가. 커널 모듈 확인

    1) $ lsmod|grep -i can

      가) rockchip_canfd가 정상로딩되어 있으면 ok

  나. 장치 인식 확인

    1) $ ip link show

    2) 상세확인

      가) $ ip -details link show

  다. 장치 설정

    0) 참고 : https://wiki.radxa.com/Rock3/dev/can

    1) $ sudo ip link set can0 down

    2) $ sudo ip link set can0 type can bitrate 1000000 dbitrate 1000000 loopback on fd on

    3) $ sudo ip link set can0 up

    9) 정상

  라. 통신 확인

    1) $ sudo apt install can-utils

    2) $ sudo candump can0&

    3) $ sudo cansend can0 123#1122334455667788

 

4. can 시험

  가. 커널 모듈 확인

    1) $ lsmod|grep -i can

      가) rockchip_canfd가 정상로딩되어 있으면 ok

  나. 장치 인식 확인

    1) $ ip link show

    2) 상세확인

      가) $ ip -details link show

  다. 장치 설정

    0) 참고 : https://wiki.radxa.com/Rock3/dev/can

    1) $ sudo ip link set can0 down

    2) $ sudo ip link set can0 type can bitrate 1000000 dbitrate 1000000 fd on

    3) $ sudo ip link set can0 up

    9) 정상

  라. 통신 확인

    1) $ sudo apt install can-utils

    2) $ sudo candump can0&

    3) $ sudo cansend can0 123#1122334455667788

0. 준비

  가. Ubuntu 18.04

 

1. 설정

  가. 기본 라우팅 인터페이스 선택은 아니고 실제로 기본 라우팅 인터페이스로 선택하지 않게 하는 방법임

  나. $ sudo nmtui

    1) Edit a connection > Wi-Fi(Ethernet) 에서 기본 라우팅 인터페이스로 하지 않을 인터페이스를 선택 > Edit

    2) IPv4 CONFIGURATION 을 Hide > Show로 변경한뒤 > Never use this network for default route 선택

0. 준비

  가. ubuntu 18.04

  나. 리눅스에서 탭을 누르면 자동완성이 됨

    1) ssh 인증키를 만들어 두고 접속하면 scp나 ssh를 이용하는 프로그램의 경우 자동완성이 됨

  다. local(client) remote(server)로 설명함

 

1. local(client)

  가. 로컬에 인증키 생성 : $ ssh-keygen

    1) 특별한 사항이 있지 않는 한 기본값으로 설정

    2) 인증키(비밀키, 공개키)는 $HOME/.ssh/에 id_rsa(비밀), id_rsa.pub(공개)로 저장됨

  나. 리모트(서버)측에 인증키 복사 : $ ssh-copy-id -i ~/.ssh/id_rsa 리모트사용자명@리모트IP

    1) -i : 파일 지정할 시

    2) 리모트사용자명은 로컬과 리모트가 동일한 사용자명을 가지면 안적어도 됨

 

2. remote(server)

  가. 할 것 없음

  나. 상대방 인증키는 ~/.ssh/authorized_keys에 저장됨

0. 준비

  가. Ubuntu 18.04 및 udev 사용하고 있음

  나. eeprom을 통해 일련번호를 설정할 수 있는 시리얼장치가 아님

    1) 일반적으로 eeprom이 내장된 시리얼장치는 일련번호를 설정하여 바로 고유이름을 설정하면 됨

    2) 본 예시는 eeprom이 없는 CH340G 시리얼 칩으로 가정

  다. usb를 통해서 시리얼장치가 연결됨

  라. eeprom이 없는 동일한 제조사의 시리얼 장치를 여러 개 연결함

    1) 하나의 제조사 또는 동일한 제조사라도 장치명에 대해 유일값을 가지는 것이 있다면 그것을 활용하면 됨

 

1. 상태 확인

  가. dmesg를 통해서 시리얼장치의 이름을 확인할 것

  나. 시리얼장치의 장치 연결내역을 확인할 것

    1) $ udevadm info --attribute-walk --path=/sys/bus/usb-serial/devices/ttyUSB4

      가) 장치의 연결순서를 알려줌

      나) ex) pci 장치 > xHCI 장치 > USB 장치(USB허브) > USB 장치(USB허브) 포트 > USB 장치(USB시리얼장치) > USB  시리얼장치

    2) 장치를 식별할 수 있도록 시리얼장치면서, 장치가 연결된 usb허브의 순번을 이용함

      가) 장치를 아주 구체적으로 확인할 수 있는 값을 이용하는 것이 좋음

      나) ex) KERNELS=="1-7.4:1.0" : 시리얼 장치로 매칭되기 전 마지막 연결 상태값

      다) ex) DRIVER=="ch341-uart" : 시리얼 장치로 매칭된 마지막 값

 

2. udev rule 작성

  가. ex) 99-test-serial.rules : 파일명

    1) ACTION=="add", KERNELS=="1-7.4:1.0", DRIVERS=="ch341", SYMLINK+="driver.1-7.4.ch341"

  나. /etc/udev/rules.d 로 파일복사

 

3. udev 재실행 및 확인

  가. $ sudo systemctl restart udev

  나. 시리얼 장치를 여러곳에 꽂아보고 실제로 특정 위치에서 driver.1-7.4.ch341가 활성화되는지 확인

0. 준비

  가. Ubuntu 18.04

 

1. 저장소 추가

  가. $ sudo add-apt-repository ppa:danielrichter2007/grub-customizer

 

2. 설치

  가. $ sudo apt install grub-customizer

 

3. 실행(커맨드라인)

  가. $ grub-customizer

0. 준비

  가. X윈도우를 사용하는데 너무 느려서 구글링

    0) https://unix.stackexchange.com/questions/50698/fastest-remote-x-from-windows, https://unix.stackexchange.com/questions/187415/why-is-firefox-so-slow-over-ssh

    1) 간단히 ssh -C 를 사용하여 속도 개선여부를 확인하는 것도 한가지 방법(효과있음)

  나. ssh 클라이언트와 ssh 서버측의 실제 속도를 측정해보는 것이 가장 좋음

  다. 영향을 주는 요인은 주로 ssh 교환데이터의 압축

    1) ssh -C 옵션

  라. ssh 암호화

    1) ssh -c 옵션

    2) 암호화는 ssh 클라이언트 및 ssh 서버측의 지원에 따라 달라짐

  마. ssh 맥알고리즘

    1) ssh -m 옵션

    2) 맥알고리즘은 ssh 클라이언트 및 ssh 서버측의 지원에 따라 달라짐

 

1. ssh 클라이언트측

  가. 지원하는 암호화 확인

  나. $ ssh -Q cipher

  다. $ ssh -Q mac

  라. 50MB 랜덤데이터를 가진 전송시험용 파일 생성

    0) https://unix.stackexchange.com/questions/33629/how-can-i-populate-a-file-with-random-data

    1) dd if=/dev/urandom bs=1024 count=51200 of=test_file

  마. 벤치마크 파일 생성

    0) https://blog.famzah.net/2010/06/11/openssh-ciphers-performance-benchmark/

  바. ssh-keygen 생성

    0) https://arsviator.blogspot.com/2015/04/ssh-ssh-key.html

    1) $ ssh-keygen

    2) 서버측 공개키 복사

      가) $ ssh-copy-id user@url.com

 

2. ssh 서버측

1. 생성

  가. 폴더 생성

  나. 폴더명을 GodMode.{ED7BA470-8E54-465E-825C-99712043E01C} 으로 변경

0. 현상

  가. arduino 1.8.13에서 opencr board package를 설치하고 동작이 안됨

  나. arduino 실행후 컴파일 할 경우 no such file or directory로 나타남

  다. Ubuntu 16.04(kinetic)에서는 정상 실행됨

 

1. 확인

  가. 해당 디렉토리에 파일은 실제로 존재하였음

  나. $ file arm-none-eabi-gcc 를 확인한 결과 32 bit binary file인 것으로 확인

  다. $ arm-none-eabi-gcc를 할 경우 no such file or directory가 나타남

    1) 64비트 시스템에서 32비트 파일을 실행할 경우 나타남

 

2. 대처방안

  가. $ sudo apt install libc6-i386

    1) 32 bit binary용 라이브러리 설치

    2) 32 bit와 64 bit 문제인 경우 

 

3. 실행

  가. $ arduino

  나. 컴파일을 하면 정상 동작

0. 준비

  가. 공인아이피 A를 가지는 공유기에 연결된 사설아이피 B

    1) ex : A(recipelab.net) 공유기 iptime

    2) ex : B(192.168.0.2) X11 Server 측

  나. 공인아이피 C를 가지는 공유기에 연결된 사설아이피 D

    1) ex : C(kabit.iptime.org) 공유기 iptime

    2) ex : D(192.168.1.6) X11 Client 측

  다. 전체 개략은 다음과 같음

    1) B(192.168.0.2) - A(recipelab.net 192.168.0.254) ---------- C(kabit.iptime.org, 192.168.1.254) - D(192.168.1.6)

1. 설정

  가. 공인아이피 A의 공유기 설정에 사설아이피 B를 포워딩

    1) TCP 6000 port forwarding

  나. 공이아이피 C의 공유기 설정에 사설아이피 D를 포워딩

    1) TCP 6000 port forwarding

  다. 사설아이피 B에서 X11 Forwarding 설정

    1) $ export DISPLAY=kabit.iptime.org:0

    2) :0 이 아닌 다른 것은 설정되지 않았음

    3) :n은 6000+n으로 설정하면 된다고 했지만 X410에서는 되지 않음

      가) 시험한 시점은 2020/10/31

 

2. 실행

  가. 사설아이피 D에서 X11용 명령어 실행

    1) $ xclock

    2) 시험용으로 시계 실행

0. 준비

가. Ubuntu : IP(예:10.0.0.2)

나. Windows 10 : IP(예:10.0.0.1)

 

1. X410 연결

가. Windows 10

1) X410 실행

  가) 작업표시줄 아이콘 오른쪽 버튼 Allow Public Access 체크(클릭)

2) Terminal에서 ssh 10.0.0.2

3) $ export DISPLAY=10.0.0.1:0.0

4) $ xclock 를 실행확인

 

0. 설치

  가. Windows 10에 Font 설치

    1) Zsh에서 agnoster 테마를 사용하면 Powerline 폰트가 필요함

    https://github.com/microsoft/cascadia-code/releases

    2) Ubuntu(WSL)이 설치된 상태에서 Zsh 설치 및 설정

      가) $ sudo apt install zsh

      나) $ which zsh를 통해 쉘의 위치 확인

      다) $ chsh -s /usr/bin/zsh 또는 chsh -s `which zsh`

        (1) '(Apostrophe, 작은따옴표, 홑따옴표)가 아니라 `(grave accent, 억음, backquote, 역따옴표)임

   3) Oh My Zsh 설치 및 설정

    가) $ curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh

    나) .zshrc 파일을 편집하여 ZSH_THEME="robbyrussell" -> ZSH_THEME="agnoster" 로 변경

 

1. 사용

  가. 어떠한 터미널이든 터미널이 있는 쪽 컴퓨터에 Powerline 폰트가 설치되어 있어야함

  나. SSH의 서버가 있는 쪽이 Zsh, Oh My Zsh 및 agnoster 테마가 있어야 Powerline 폰트 효과가 있음

 

0. 삼성 크롬북4

 

1. 개발자모드로 진입(부트화면에서 ctrl + D)

 

2. 크롬쉘 탭 생성(ctrl + alt + T)

 

3. crouton 다운로드

 

4. # sh -e ./crouton -r xenial -t unity,keyboard

 

  가. keyboard : 단축키 사용을 위해 반드시 설치

 

5. 터미널이나 기타 부족한 부분이 있음

 

  가. # sudo apt install unity-desktop

 

    1) 용량은 크고, 쓸데없는 프로그램이 많지만 기본 16.04 우분투 환경과 비슷함

 

    2) 설치만 하면 한글 지원됨, 설정의 언어 지원부분에서 언어팩을 설치하려고 할 경우 에러가 남

 

  나. # sudo apt install software-center

 

    1) 설치 이후에는 언어팩 지원에서 에러가 발생하지 않음

 

  다. # sudo apt install bash-completion

 

    1) 설치 이후 탭 2번으로 명령어 자동완성이 됨

0. 참고사항

  가. 운영체제

    1) Ubuntu 18.04 LTS

 

1. 이전할 자료 백업 및 복사

  가. Compute Stick(이전할 자료 백업)

    1) django

      가) 파이썬 프로그램

        (1) virtualenv관련이 포함되어 있음

    2) apache2

      가) django 관련 설정

        (1) /etc/apache2/sites-available/관련설정.conf 백업

        (2) 웹서버 비활성화

          (가) $ sudo a2dissite 관련설정.conf

          (나) $ sudo service apache2 reload

 

  나. ThinkCentre M(이전 자료 복사)

    1) 원래의 디렉토리 위치와 동일하게 복사

      가) 이전하기전의 계정과 디렉토리가 동일하게 되어 있음

        (1) /홈디렉토리/계정/django/www/파이썬 웹서버 프로그램

      나) virtualenv 재구성 및 django 시험

        (1) 이전할 자료에 www/venv로 virtualenv를 구성해두었었음

        (2) venv activate는 되지만 에러가 발생함

        (3) 기존 venv 삭제 및 새로운 venv 생성 및 필수파일 추가

          (가) $ sudo apt install python3-pip (필요시)

          (나) $ pip3 install virtualenv(필요시)

          (다) $ virtualenv --python=python3 venv

          (라) 시험

            a. $ python manage.py runserver 0.0.0.0:8000

            b. database 에러 발생(필요시)

              i) $ rm db.sqlite3 or mv db.sqlite3 db.sqlite3.bak

              ii) $ python manage.py makemigrations

              iii) $ python manage.py migrate

      다) apache2 설정

        (1) 설치

          (가) $ sudo apt install apache2

          (나) $ sudo apt install libapache2-mod-wsgi-py3

        (2) 기존 설정 복사

          (가) $ sudo cp 기존설정.conf /etc/apache2/sites-available

        (3) 활성화

          (가) 기본 아파치 설정 비활성화

            a. $ sudo a2dissite 000-default.conf

          (나) 이전할 아파치 설정 활성화

            a. $ sudo a2ensite 관련설정.conf

          (다) 서버 재설정

            a. $ systemctl reload apache2

  다. 성공

0. 사전 준비사항

  가. VirtualBox에 Ubuntu 18.04 설치

  나. $ sudo apt install build-essential

 

1. DirectFB 준비

  가. $ git clone https://github.com/Distrotech/DirectFB.git

    1) git 없을 경우

      가) $ sudo apt install git

  나. $ git checkout DIRECTFB_1_6_3

    1) git checkout를 누르고 더블 탭을 하면 태그목록이 뜸

  다. $ ./autogen.sh

    1) 일부 프로그램이 없을 경우

      가) $ sudo apt install libtool autoconf automake

    2) flux 에러 생길 경우

      가) $ git clone https://github.com/Distrotech/flux.git

      나) $ ./autogen.sh

        (1) AC_MSG에러 생길 경우

          (가) $ sudo apt install pkg-config

      다) $ ./configure

      라) $ make

      마) $ sudo make install

  라. $ ./configure --with-tests

    1) --with-tests 예제 파일을 생성함

  바. $ make

  사. $ sudo make install

  아. $ dfbtest_fillrect

    1) 공유라이브러리 로딩에러시

      가) $ sudo ldconfig

    2) /dev/fb0 에러 발생시

      가) $ sudo usermod -a -G video 사용자계정

      나) 로그아웃을 했다가 다시 로그인을 해야지 적용됨

    3) /dev/tty0 에러 발생시

      가) 홈디렉토리에 설정파일 생성

      나) $ vi ~/.directfbrc

        1) mode=800x600

          (가) 화면 크기

        2) system=x11

          (나) X윈도우 환경으로 출력

    4) 프로그램 실행은 되지만 화면 출력은 안될 경우

      가) $ sudo apt install libgles2-mesa-dev

      나) $ ./configure --with-gfxdrivers='gles2'

      다) $ make

      라) $ sudo make install

0. 필요사항

  가. 팀뷰어로 원격제어할 경우 모니터가 없을 경우 화면이 검게 표시됨

  나. 가상 화면을 만들어서 가상 화면을 디스플레이함

  다. 가상 모니터를 만들 경우 실제 모니터를 연결해도 표시가 안됨

    1) xorg.conf를 삭제, 이동 또는 이름을 변경하면 됨(ex:xorg.conf.bak)


1. 가상 모니터 드라이버 설치

  가. $ sudo apt-get install xserver-xorg-video-dummy

  나. 아래의 파일을 xorg.conf 로 생성

Section "Device"
    Identifier  "Configured Video Device"
    Driver      "dummy"
EndSection
 
Section "Monitor"
    Identifier  "Configured Monitor"
    HorizSync 31.5-48.5
    VertRefresh 50-70
EndSection
 
Section "Screen"
    Identifier  "Default Screen"
    Monitor     "Configured Monitor"
    Device      "Configured Video Device"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1024x800"
    EndSubSection
EndSection
cs

  다. $ cp xorg.conf /usr/share/X11/xorg.conf.d

  라. 재부팅

+ Recent posts