반응형

리눅스(우분투)에 설치된 비주얼 스튜디오에서 파이썬을 프로그래밍해보자.


pip가 설치되지 않았다면 설치한다.


폴더를 만들어 준다.


폴더내에 파이썬 소스를 작성할 파일을 만든다. 확장자는 .py로 한다.


Python extension을 설치한다.



Linter pylint가 설치되지 않았다는 메세지가 나온다. Install 한다.


소스를 입력하고 Ctrl+F5키를 누르면 실행된다.

Run - Run Without Debugging을 선택해도 된다.


반응형
Posted by J-sean
:
반응형

리눅스(우분투)에서 비주얼 스튜디오 코드를 설치하고 코딩해 보자.


비주얼 스튜디오 홈페이지에 접속하고 Debian, Ubuntu용 .deb을 선택한다.


설치파일을 다운로드한다.


다운로드한 설치파일을 실행한다.


Install을 선택한다.



설치는 간단히 끝난다.


build-essential을 설치한다.


설치된 Visual Studio Code를 실행한다.


Welcome 화면이 나타난다.



File - Open Folder... 를 선택한다.


원하는 폴더를 만들고 선택한다.


EXPLORER - 위에서 만든 폴더에서 New File을 선택한다.


원하는 파일이름을 지정한다. C++ 프로그램을 만들기 위해 확장자는 .cpp로 지정한다.



Extensions에서 c/c++를 설치한다.


간단한 C++ 코드를 입력한다.


Terminal - Configure Default Build Task...를 선택한다.


C/C++: g++ build active file을 선택한다.



Terminal - Run Build Task...를 선택한다.


빌드가 진행된다.


위에서 만든 폴더로 가면 빌드된 파일이 있다. 실행해 본다.


task를 변경하고 싶다면 아래 예처럼 tasks.json 파일을 변경한다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
{
    "version""2.0.0",
    "runner""terminal",
    "type""shell",
    "echoCommand"true,
    "presentation": {
        "reveal""always"
    },
    "tasks": [
        // C++
        {
            "label""save and compile for C++",
            "command""g++",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group""build",
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp""^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file"1,
                    "line"2,
                    "column"3,
                    "severity"4,
                    "message"5
                }
            }
        },
        // C
        {
            "label""save and compile for C",
            "command""gcc",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group""build",
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp""^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file"1,
                    "line"2,
                    "column"3,
                    "severity"4,
                    "message"5
                }
            }
        },
        {
            "label""execute",
            "command""cd ${fileDirname} && ./${fileBasenameNoExtension}",
            "group""test"
        }
    ]
}


tasks.json 예제


필요하다면 File -Preferences - Keyboard Shortcuts 에서 새로만든 task의 단축키를 지정할 수 있다.


Open Keyboard Shortcuts (JSON) 아이콘을 클릭한다.


아래 예처럼 keybindings.json 파일을 수정한다.



1
2
3
4
5
6
7
[
    // Compile
    { "key""ctrl+shift+1""command""workbench.action.tasks.build" },
 
    // Execute
    { "key""ctrl+shift+2""command""workbench.action.tasks.test" }
]


keybidings.json 예제


반응형
Posted by J-sean
:
반응형

리눅스(우분투) 서버에 X Window(GUI)를 설치해 보자.


sudo apt update를 실행해서 package list를 업데이트한다.


업데이트가 완료되면 sudo apt upgrade를 실행해서 package를 upgrade/install/remove한다.


sudo apt install ubuntu-desktop-minimal 명령으로 X Window 설치를 진행한다.


sudo apt install ubuntu-desktop-minimal: 최소 설치

sudo apt install ubuntu-desktop: 전체 설치


1,695 MB의 디스크 공간이 필요하다. 설치는 꽤 오랫동안 진행된다.



설치가 완료되면 startx 명령어로 X Window를 실행한다.


Welcome! 이라고 한다.


키보드를 선택한다.


내 위치정보를 공개할지 선택한다.



간단한 설정이 완료되었다.


재부팅이 필요하다.


재부팅하면 바로 X Window가 실행된다. 로그인 하자.


X Window 화면이 나타난다.



부팅시 X Window가 자동 실행되지 않도록 하려면 아래 명령어를 입력한다.


sudo systemctl set-default multi-user


부팅시 다시 X Window가 자동 실행되게 하려면 아래 명령어를 입력한다.


sudo systemctl set-default graphical


직접 Run Level을 변경해 X Window 자동 실행 여부를 결정할 수 도 있다. 현재 default.target은 graphical.target을 가리키고 있다.


multi-user.target을 가리키도록 변경한다.



재부팅하면 X Window가 아닌 Console로 부팅된다.


startx를 실행하면 약간 다른 모양의 X Window가 실행된다.


Log Out 해 보자.


다시 콘솔 화면으로 돌아간다.


X Window로 부팅하려면 아래 명령어를 입력한다.

sudo ln -sf /lib/systemd/system/graphical.target /lib/sytemd/system/default.target


반응형
Posted by J-sean
:
반응형

레트로파이는 보통 레트로파이 홈페이지에서 받은 이미지를 MicroSD 카드에 설치하고 라즈베리 파이에서 사용 한다.

하지만 라즈비안이 설치된 라즈베리 파이나 라즈베리파이 데스크탑(데비안)이나 우분투가 설치된 PC에서도 레트로파이를 설치하고 레트로 게임을 즐길 수 있다.


2020/01/16 - [Raspberry Pi & Arduino] - Raspberry Pi Raspbian 설치 후 업데이트, 한글, 고정 IP, VNC, Samba 설정

2020/02/14 - [Raspberry Pi & Arduino] - How to slow down RetroPie games - 레트로파이 게임 속도 조절 하기(video frame delay)

2021/01/24 - [Raspberry Pi & Arduino] - How to add Korean font, game marquees, images, videos, and descriptions to RetroPie - 레트로파이에 한글 폰트, 게임 마키, 이미지, 플레이 영상, 설명 넣기

2020/11/12 - [Vita] - 오래된 노트북을 오락실 게임기로 만들어 보자.


APT repository를 모두 업그레이드 하고 Git이 설치 되어 있지 않다면 설치 한다.


sudo apt-get update

sudo apt-get upgrade

sudo apt-get install git


RetroPie-Setup 스크립트를 다운로드 한다.


git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git


다운 받은 스크립트 디렉토리로 이동하고 retropie_setup.sh를 실행 한다.


sudo ./retropie_setup.sh


Basic install을 실행 한다.


Yes를 선택 하고 설치를 진행 한다.



꽤 오랫동안 설치가 진행 된다.


설치가 완료되면 빌드하지 못한 에뮬레이터에 대한 메세지가 몇 개 표시 된다. 모두 OK를 선택 한다.


Setup 화면으로 돌아 오면 Update를 진행 한다.


Yes를 선택 하고 설치된 패키지 업데이트를 진행 한다.


최신 버전의 RetroPie Setup Script를 가져 왔다. OK를 선택 한다.



업데이트를 계속 진행 한다.


RetroPie에 관한 간단한 메세지가 표시 된다. OK를 선택 한다.


Kernel등의 underlying OS package들을 업데이트하기 위해 Yes를 선택 한다.


다시 꽤 오랜 시간동안 설치가 진행 된다.


업데이트가 완료 되었다.



재부팅을 선택 한다.


Yes를 선택 한다.


재부팅이 완료되면 레트로파이를 실행 한다. 터미널에서 emulationstation 명령어를 실행 해도 된다.


아래 게임패드 다이어그램을 참고하여 컨트롤러 버튼 설정을 진행 한다. 게임패드가 없다면 위와 같은 화면이 나오지만 키보드로 진행할 수 도 있다.


SNES Controller


XBox 360 Controller


PS3 Controller



버튼 설정을 완료하면 레트로파이가 실행 된다. 아직은 아무 게임도 보이지 않는다. 이 상태에서 게임 롬을 설치해도 오디오 드라이버가 설정 되지 않아 아무 소리도 나지 않는다. 오디오 드라이버 설정을 위해 A 버튼을 눌러 RetroPie Configuration으로 들어 간다.


Configuration Editor를 선택 한다.


Advanced Configuration을 선택 한다.


Configure Libretro options를 선택 한다.


all/retroarch.cfg를 선택 한다.



audio_driver를 선택 한다.


alsa(Advanced Linux Sound Architecture)를 선택 하고 Configuration을 빠져나가 레트로파이를 종료 한다.

※ 아래 순서로 진행해도 된다.

RetroPie Configuration - Retroarch - Settings - Audio - Output - Audio - alsa

RetroPie Configuration - Retroarch - Settings - Drivers - Audio - alsa


/home/pi/RetroPie/roms/arcade 디렉토리에 게임 롬 파일을 복사 한다. Raspberry Pi 2/3에 추천하는 MAME emulator는 lr-mame2003이고 lr-mame2003 emulator에 사용 가능한 게임 롬 버전은 MAME 0.78이다. MAME 0.78용 스트리트 파이터 2 롬 파일을 복사 했다.


다시 레트로 파이를 실행하면 ARCADE가 활성화 되고 1개의 게임이 사용 가능하다는 메세지가 표시 된다. A 버튼을 눌러 선택 한다.


ARCADE를 선택 하면 위에서 복사한 스트리트 파이터 2가 표시 된다. A 버튼을 누르고 진행 한다.



기본 에뮬레이터를 선택 하는 화면이 표시 된다. lr-mame2003을 선택 한다.


스트리트 파이터 2가 launching 된다.



스트리트 파이터 2가 실행 된다.


기본적으로 Raspberry Pi Desktop은 Screen Saver 프로그램이 설치되어 있지 않다. 하지만 Screen Saver 기능은 활성화 되어 있기 때문에 사용자 입력이 없으면 10분 후 화면이 꺼진다. RetroPie를 사용하는 동안에도 키보드나 마우스가 아닌 게임패드를 사용한다면 사용자 입력이 없다고 판단해 Screen Saver가 작동하게 되고 화면이 꺼져버리게 된다.


Preferences - Add/Remove Software를 선택 한다.


xscreensaver를 검색하고 설치 한다.


다시 Preferences를 확인해 보면 Screensaver가 설치되어 있다.


Screen Saver를 실행 한다.



Mode 콤보 박스를 클릭 하고 Disable Screen Saver를 선택 한다.


Screen Saver 기능이 비활성화 된다.


컴퓨터를 켜거나 재부팅하면 항상 위와 같은 GRUB 화면이 나온다. 여기서 몇 초(5초) 기다리거나 엔터키를 한 번 눌러야 부팅이 시작된다. 바로 부팅 되도록 해보자.


/etc/default/grub 파일을 열자.



GRUB_TIMEOUT=5로 되어 있다. 그래서 5초를 기다려야 했던 것이다.


기다리지 않고 바로 부팅되도록 0으로 바꾸고 저장한다.


sudo update-grub 명령으로 업데이트 한다. 이제 기다릴 필요 없이 바로 부팅된다.


반응형
Posted by J-sean
: