Инструменты пользователя

Инструменты сайта


express

Это старая версия документа!


Автоматизация установки eXpress

Скрипт копирует AppImage в каталог, откуда он затем будет запускаться, извлекает AppImage и устанавливает ярлык для запуска (.desktop), а также файл значка, затем модифицирует целевой ярлык запуска, чтобы в нём содержались актуальные пути на исполняемый файл и значок для него.

install-express.sh

:

#!/bin/bash                                                                                                                                                                                                       
BINARY_DIR="${HOME}/.local/bin"                                                                                                                                                                                   
BINARY_FILE="${BINARY_DIR}/${1}"                                                                                                                                                                                  
ICON_DIR="${HOME}/.local/share/express"                                                                                                                                                                           
ICON_FILE="${ICON_DIR}/express.png"                                                                                                                                                                               
SHORTCUT_DIR="${HOME}/.local/share/applications"                                                                                                                                                                  
SHORTCUT_FILE="${SHORTCUT_DIR}/express.desktop"                                                                                                                                                                   
                                                                                                                                                                                                                  
err() {                                                                                                                                                                                                           
    echo "Error: ${1}"                                                                                                                                                                                            
    exit 0                                                                                                                                                                                                        
}                                                                                                                                                                                                                 
                                                                                                                                                                                                                  
[ "${1}" == "" ] && err "No file specified"                                                                                                                                                                       
[ -f "${1}" ] || err "File ${1} not found"                                                                                                                                                                        
                                                                                                                                                                                                                  
[ -d "${BINARY_DIR}" ] || mkdir -pv "${BINARY_DIR}"                                                                                                                                                               
cp -v "${1}" "${BINARY_DIR}/"                                                                                                                                                                                     
chmod +x "${BINARY_DIR}/${1}"                                                                                                                                                                                     
chmod +x "${1}"                                                                                                                                                                                                   
./"${1}" --appimage-extract 1>/dev/null 2>&1                                                                                                                                                                      
[ -d "${SHORCTUT_DIR}" ] || mkdir -pv "${SHORTCUT_DIR}"                                                                                                                                                           
                                                                                                                                                                                                                  
cp -v "squashfs-root/express.desktop" "${SHORTCUT_DIR}/"                                                                                                                                                          
[ -d "${ICON_DIR}" ] || mkdir -pv "${ICON_DIR}"                                                                                                                                                                   
cp -v "squashfs-root/express.png" "${ICON_DIR}/"                                                                                                                                                                  
                                                                                                                                                                                                                  
E_BINARY_FILE=$(echo "${BINARY_FILE}" | sed 's/[\/&]/\\&/g')                                                                                                                                                      
sed -i "s/^Exec=.*$/Exec=$E_BINARY_FILE/" "${SHORTCUT_FILE}"                                                                                                                                                      
E_ICON_FILE=$(echo "${ICON_FILE}" | sed 's/[\/&]/\\&/g')                                                                                                                                                          
sed -i "s/^Icon=.*$/Icon=$E_ICON_FILE/" "${SHORTCUT_FILE}"                                                                                                                                                        
rm -rf "squashfs-root/"                                                                                                                                                                                           

Пример запуска:

bash express-install.sh eXpress-3.37.45.AppImage
express.1743664552.txt.gz · Последнее изменение: svv

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki