리눅스의 appimage는 파일 형태로 프로그램을 실행할 수 있는 형태이다.
따라서 설치를 할필요가 없고, 이 파일의 위치를 자유롭게 옮겨도 바로 실행가능하다.
또한 삭제도 이 파일하나만 삭제하면 되기 때문에 관리하기 편하다는 장점이 있다.
1. FUSE 설치
sudo apt update
sudo apt install libfuse2
2. 권한부여
chmod +x {filename}.AppImage
3. 프로그램 실행
./{filename}.AppImage
+) GUI에서 실행
우클릭>속성>권한>파일을프로그램으로 실행허용
을 체크해주고, 다시 한번 파일을 더블클릭
4. 바로가기 생성
만약 이렇게 파일을 클릭해서 실행시키는 것이 아닌, 설치 프로그램처럼 실행시키고 싶다면,
sudo mv {path}/{filename}.AppImage /opt/{filename}/{filename}.AppImage
sudo nano /usr/share/applications/{filename}.desktop
위 명령어를 통해 먼저 AppImage 파일을 적절한 경로에 옮겨주고(꼭 저 경로일 필요 없으나 보통 저렇게하는게 관리하기 편함).desktop
파일을 생성해준다. .desktop
파일 안에는 아래와 같은 형식으로 적어준다 .({} 부분을 자신이 바꾸면된다. )
[Desktop Entry]
Name={APP_NAME} # ex) obsidian
Comment={APP_DESCRIPTION} # ex) editor
Exec={AppImage_PATH} # ex) /opt/obsidian/obsidian.AppImage
Icon={APP_ICON_PATH} # ex) /home/user/obsidian.png
Type=Application
Categories={APP_CATEGORIES} # ex) IDE
Terminal=false
다 작성하고는 나와서, 아래 명령어를 통해 재설정해주면 된다.
sudo update-desktop-database
5. 아이콘 등록
위에서 .desktop
을 작성할 때 Icon 경로를 작성하는데 자신이 원하는 Icon을 등록해도 되고,
이 AppImage에 내장되어있는 원래 아이콘 파일을 등록시킬 수도 있다.
./{YOUR_PATH}.AppImage --appimage-extract
자신이 아까 옮겨둔 AppImage경로 뒤에 명령어를 사용하여 image를 추출할 수 있다.
위의 코드를 사용하면 squashfs-root
라는 폴더가 해당 폴더에 생성되고
find squashfs-root -name "*.png"
find squashfs-root -name "*.svg"
위의 명령어로 png
나 svg
형식의 파일이 쭉 나올 것이다.
그중 자신이 원하는 파일의 이름하나만 기억하고 해당 아이콘을 등록하면 된다.
sudo cp {AppIconName}.png /usr/share/icons/hicolor/128x128/apps/{AppIconName}.png
sudo gtk-update-icon-cache /usr/share/icons/hicolor
위의 명령어로 자신이 원하는 아이콘을 경로에 등록해주고, .desktop
파일에 아이콘 경로가 아닌 방금 위의 코드에서 자신이 등록한 AppIconName
을 등록해주면 된다.
이후, 아까 extract한 squashfs-root
폴더는 삭제해줘도 된다.
[Desktop Entry]
Name={APP_NAME}
Comment={APP_DESCRIPTION}
Exec={AppImage_PATH}
Icon={AppIconName} # 확장자 없이 위에서 정한 파일 이름
Type=Application
Categories={APP_CATEGORIES}
Terminal=false
'리눅스' 카테고리의 다른 글
sudo 명령어 timeout, nopasswd (0) | 2025.02.07 |
---|---|
terminals database is inaccessible (0) | 2024.11.07 |
Linux google-drive mount(google-drive-ocamlfuse) (0) | 2024.10.14 |
Failed to initialize NVML: Driver/library version mismatch (0) | 2024.10.14 |
ssh 포트 변경 (0) | 2024.09.24 |