20241107

GitHub 자신 계정에 .deb 파일 올리고, 다운받고 설치방법- golang fyne linux ubuntu

GitHub에 .deb 파일 올리고,  다운받고 설치방법

유틸리티 빌드 및 준비

Golang Fyne 기반 유틸리티를 빌드해 실행 파일을 생성.

go build -o 파일이름


.deb 패키지 디렉터리 구조 생성

파일이름 프로젝트 폴더/

├── DEBIAN 폴더 생성/

│   └── control 파일

└── usr 폴더 생성/

    └── local 폴더 생성/

        └── bin 폴더 생성/

            └── 등록할 빌드한 실행 파일을 이곳에 두기


control 파일 작성- 패키지의 메타데이터를 담는 파일로, 패키지 이름, 버전, 설명 

등을 정의함. DEBIAN/control 파일을 다음과 같이 작성.


Package: 파일이름

Version: 1.0

Section: utils

Priority: optional

Architecture: amd64

Maintainer: 등록자이름 <이메일id@메일.com>

Description: 마우스 올렸을때 간단 설명용


.deb 패키지 빌드-프로젝트 폴더 이름으로 아래 명령 실행.

다음 명령어로 .deb 패키지를 생성합니다.

dpkg-deb --build 파일이름


GitHub에 패키지 업로드

GitHub 리포지토리의 Releases 기능을 통해 .deb 파일을 업로드합니다.

github웹싸이트의 우측상단에 + 클릭시, New repository(리포지토리)에서, Repository name 작성 및 파일 업로드 합니다.


생성된 주소를 참고합니다.(아래 내용)

-다운받기 HTTPS: git clone https://github.com/계정이름/Repository name.git

-다운받기 SSH:  git clone git@github.com:계정이름/Repository name.git


다운받은 .deb 파일을 설치합니다. 

sudo apt update

sudo dpkg -i 파일이름.deb


설치된 파일 찾기: dpkg -L 파일이름
실행: 만일 프로그램 이름이 aaaa.exe 로 리스트에 보이면, aaaa.exe 로 입력시 실행됨.

20241106

LXQt 로그인창-자동로그인,수동로그인 설정- Lubunt linux

 LXQt 로그인창-자동로그인,수동로그인 설정- Lubunt linux

sudo nano /etc/sddm.conf 에서 , 아래 내용 참고 입력하고, 저장하고, 재부팅.

수동로그인시- [Autologin] 섹션을 아예 삭제하거나 주석 처리 #

[General]

Language=ko_KR.UTF-8


[Autologin]

# User=

# Session=Lubuntu


자동로그인시 ------------------------------------

[Autologin]

User=관리자이름

Session=Lubuntu


[General]

Language=ko_KR.UTF-8


Ubuntu Linux 에서 키보드 키이름 확인방법- [한/영]키 이름 확인 방법

 Ubuntu Linux 에서 키보드 키이름 확인방법- [한/영]키 이름 확인 방법

1. 터미널에서 xev 입력하고, 키보드의 [한/영]키를 클릭하면 Hangul 로 표시 됨을 확인. 


2. xmodmap 명령어로 현재 키보드 맴핑을 확인할수 있슴

xmodmap -pke | grep Hangul

keycode 105 = Hangul_Hanja NoSymbol Hangul_Hanja

keycode 108 = Hangul NoSymbol Hangul

keycode 130 = Hangul NoSymbol Hangul

keycode 131 = Hangul_Hanja NoSymbol Hangul_Hanja

Ubuntu, Linux, Lubunt 에서 기본 프로그램 등록하는 방법

 Ubuntu, Linux, Lubunt 에서 기본 프로그램 등록하는 방법


1. .desktop 파일 생성

- 프로그램의 이름, 실행 경로, 아이콘, 카테고리 등과 같은 메타데이터를 포함하여 프로그램을 등록하고 실행하는 데 사용됨.

 nano ~/.local/share/applications/파일이름.desktop

 위 명령으로 파일을 생성하며 열고, 아래 내용을 추가합니다. 

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

[Desktop Entry]

Version=1.0

Name=파일이름

Comment=이 프로그램은 어떤 프로그램 입니다.

Exec=/home/파일 위치/파일이름.exe %f

Icon=text-editor

Terminal=false

Type=Application

MimeType=text/plain;

Categories=Office;

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

Version: .desktop 파일의 버전을 지정. 일반적으로 1.0으로 설정

Name: 프로그램의 이름. 메뉴에서 보여지는 이름입니다.

Comment: 프로그램에 대한 짧은 설명(마우스 올리면 보이는 글)

Exec: 실행 파일의 경로와 인수를 지정. 여기서 %f는 파일 경로를 인수로 받도록 설정한 것입니다. 

          파일이 확장자가 없는 aaa 이면 aaa만 입력. aaa.exe 면 aaa.exe 입력 함.

          실행 파일이 ~/.local/bin이나 시스템 PATH에 포함된 경우 전체 경로를 생략할 수도 있슴.

Icon: 프로그램에 사용할 아이콘을 지정. text-editor는 시스템에서 기본으로 제공하는 아이콘이고

          필요시 다른 경로에 있는 이미지 파일을 지정할 수도 있슴.(예제: Icon=/home/계정이름/icons/myicon.png)

Terminal: true 또는 false로 설정하여 프로그램이 터미널에서 실행될지 여부를 지정. GUI 프로그램인 경우 false로 설정.

Type: 파일 유형을 지정. 일반적인 애플리케이션의 경우 Application으로 설정함.

MimeType: 프로그램이 열 수 있는 파일 유형(MIME 유형)을 지정.

                     각 MIME 타입은 세미콜론(;)으로 구분하며, 마지막 MIME 타입 뒤에도 세미콜론을 붙이는 것이 규칙임.

                     이미지뷰어: MimeType=image/png;image/jpeg;image/gif;

                     웹브라우져: MimeType=text/html;text/xml;application/xhtml+xml;

                     PDF리더: MimeType=application/pdf;

                     비디오플레이어: MimeType=video/mp4;video/x-matroska;video/x-msvideo;video/x-flv;

                     오디오플레이어: MimeType=audio/mpeg;audio/x-wav;audio/ogg;

                     프로그래밍 편집기: MimeType=text/x-python;text/x-csrc;text/x-java;

                     텍스트 편집기: MimeType=text/plain; 

                                             .log, .md, .conf 등도 text/plain에 해당됨.

                                             text/markdown: .md 파일에 사용

                                             text/csv: .csv 파일에 사용 (콤마로 구분된 값)

                                             text/html: .html, .htm 파일에 사용

                                             text/xml: .xml 파일에 사용

                                             text/javascript: .js 파일에 사용


Categories: 프로그램을 분류할 카테고리를 나열합니다. 메뉴에서 특정 카테고리에 프로그램을 표시하려면, 

                      관련 카테고리(예: Office; System; Network; WebBrowser; Accessories; Graphics; Development; 등)를 추가합니다.

                       세미콜론(;)은 카데고리를 구분하기 위한 기호입니다. 반듯이 카데고리이름뒤에 세미콜론(;)은 필수 입니다. 


2. 파일에 실행권한 부여 

chmod +x ~/.local/share/applications/파일이름.desktop


3. MIME 유형 업데이트

.desktop파일을 시스템이 인식하도록 MIME 형식을 업데이트

update-desktop-database ~/.local/share/applications


3. 특정 파일 및 프로그램을 열때, 속성에서 기본 지정해주면 됨. 

    [바로가기]는 등록된 프로그램 부분에서 프로그램이름  선택하고, 마우스 우측 클릭시 , [바탕화면에 추가] 클릭.

20241104

Golang과 Fyne으로 생성한 .exe 파일의 크기를 줄이는 방법 [기록]

 Golang과 Fyne으로 생성한 .exe 파일의 크기를 줄이는 방법


1. 모듈 최적화 

   go mod tidy


2. 컴파일 플래그 사용- 불필요한 디버그 정보를 제거

   go build -ldflags="-s -w" -o 생성할파일이름.exe


   -s : 심볼 테이블을 제거하여 디버그 정보를 줄임

   -w : DWARF 디버그 정보를 제거하여 크기를 줄임


3. UPX (Ultimate Packer for Executables) 사용- 압축된 실행파일로 효과 좋음

   설치: sudo apt install upx

   사용방법: upx --best 만들어져있는exe파일.exe