debian 10 создать ярлык на рабочем столе

Автор sergey1212, 22 января 2022, 05:22:39

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

sergey1212

Debian 10
Спойлер
Linux len-ovo 4.19.0-18-amd64 #1 SMP Debian 4.19.208-1 (2021-09-29) x86_64 GNU/Linux
Gnome3.30.2
Создаю такой desktop файл на Рабочем столе. Рабочий стол включен через tweak tools. Ярлык не запускает программу.  При нажатии ничего не происходит. Если выбрать редактор, то открывает уже только в нем.
[Desktop Entry]
Name=1c
Comment=
GenericName=
Keywords=
Exec=/bin/bash /home/korolevsa/pve-virt-viewer2.sh  -u korolevsa@pam -p "" 100 proxserv
Terminal=true
Type=Application
Icon=/home/korolevsa/1cicon.png
Path=
Categories=
NoDisplay=false

Поместил файл в
/home/korolevsa/.local/share/applications
Появился в меню, но работает не стабильно. То запуститься, то мигнет и пропадет.
Это частично связано с тем что в скрипте вызов программы идет через такую команду
remote-viewer /tmp/spiceproxy &
Если убираю &, то висит окно терминала в котором настроен ввод пароля.
Если закрепляю в фаворитах ярлык, то уже программа стабильно не запускается.
Понимаю, что разработчикам не очень хочется включать Рабочий стол. Но это в моем случае очень удобно.  Пользуются люди пришедшие с windows.
Сделал мягкую ссылку на Рабочий стол не работает.
Как заставить работать этот функционал? Как ни кручу работает через пень колоду..



qupl

Terminal=true
приложение не графическое, консольное?

Path=
путь к скрипту?

Добавьте в конце команды вывод  в файл, возможно там ошибки самого скрипта вылезут.

sergey1212

#2
Цитата: qupl от 22 января 2022, 05:59:25приложение не графическое, консольное?
Из sh скрипта запускается через терминальные команды графическое приложение spice.
Вот сам скрип
Спойлер
#
# This script allows to connect to Proxmox SPICE terminals without using the browser
#
# Initial script written by idecable @ Proxmox Forum
# Thread: https://forum.proxmox.com/threads/remote-spice-access-without-using-web-manager.16561/page-2#post-118381
#
# Updated by morph027
#

set -e

# needs pve-manager >= 3.1-44

usage() {
   echo "Usage: $0 [-u <string>] [-p <string>] vmid [node [proxy]]"
   echo
   echo "-u username. Default root@pam"
   echo "-p password. Default ''"
   echo
   echo "vmid: id for VM"
   echo "node: Proxmox cluster node name"
   echo "proxy: DNS or IP (use <node> as default)"
   exit 1
}

PASSWORD=""
USERNAME=""

while getopts ":u:p:" o; do
   case "${o}" in
      u)
         USERNAME=${OPTARG}
         ;;
      p)
         PASSWORD=${OPTARG}
         ;;
      *)
         usage
         ;;
   esac
done

shift $((OPTIND-1))

if [ -z "$PASSWORD" ]; then
   read -s -p "Password: " PASSWORD
   echo
fi
if [ -z "$USERNAME" ]; then
   USERNAME=root@pam
fi

DEFAULTHOST=$(hostname -f)

# select VM
[ -z "$1" ] && usage
VMID=$1

#[ -z "$2" ] && usage
NODE=${2:-$DEFAULTHOST}

if [ -z "$3" ]; then
   PROXY=$NODE
else
   PROXY=$3
fi

NODE=${NODE%%\.*}
echo $NODE

#echo ---

#echo "username=$USERNAME&password=$PASSWORD"  >>/home/korolevsa/logo.txt

DATA=$(curl -f -s -S -k -d "username=$USERNAME&password=$PASSWORD"  "https://$PROXY:8006/api2/json/access/ticket")

#echo $DATA

echo "AUTH OK"

TICKET=${DATA//\"/}
TICKET=${TICKET##*ticket:}
TICKET=${TICKET%%,*}

#echo $TICKET

CSRF=${DATA//\"/}
CSRF=${CSRF##*CSRFPreventionToken:}
CSRF=${CSRF%%,*}

#echo "----"
#echo $CSRF

#curl -f -s -S -k -b "PVEAuthCookie=$TICKET" -H "CSRFPreventionToken: $CSRF" "https://$PROXY:8006/api2/spiceconfig/nodes/$NODE/qemu/$VMID/spiceproxy" -d "proxy=$PROXY" > /tmp/spiceproxy
curl -f -s -S -k -b "PVEAuthCookie=$TICKET" -H "CSRFPreventionToken: $CSRF" "https://$PROXY:8006/api2/spiceconfig/nodes/192.168.1.10/qemu/$VMID/spiceproxy" -d "proxy=$PROXY" > /tmp/spiceproxy

remote-viewer /tmp/spiceproxy &

sergey1212

Цитата: qupl от 22 января 2022, 05:59:25Добавьте в конце команды вывод  в файл, возможно там ошибки самого скрипта вылезут.
Когда запускаю скрипт из консоли то есть одна ошибка
Fontconfig error: "/etc/fonts/local.conf", line 1: not well-formed (invalid token)
Мне кажется что она не серьезная.  И я не понимаю как ее исправить. Что там надо прописать. Файл пустой в нем закоментирована одна строка.
Цитировать
#/.fonts

path пусто потому что брал заготовку в которой был этот пункт, но не обязательный для заполнения.
С путями в скрипте есть моменты. Но они связаны с контектсом утилит которые в нем используются. Кое где если сделать пути полные то перестает работать.
Нашел сейчас одну нестыковку.  Скрипт заканчивается фразой:
curl -f -s -S -k -b "PVEAuthCookie=$TICKET" -H "CSRFPreventionToken: $CSRF" "https://$PROXY:8006/api2/spiceconfig/nodes/$NODE/qemu/$VMID/spiceproxy" -d "proxy=$PROXY" > /tmp/spiceproxy

remote-viewer /tmp/spiceproxy &

А у меня был создан каталог tmp/spiceproxy. Удалил его на всякий случай.
Сейчас буду тестировать.  Мог ли он влиять на выполнение скрипта. Вряд ли... ведь приложения понимают разницу между каталогом и файлом. Периодически скрипт срабатывал. Если бы это мешало, тоне должен был срабатывать совсем.

sergey1212

#4
Пробовал поискать проблемы в сети, перенастроил DNS сервер на микротик, но стабильнее shell скрипт запускаться не стал с ярлыка в 
/home/korolevsa/.local/share/applications/
При том что из консоли отрабатывает более стабильно.

Написал python скрипт и он работает как часы. Но в фоне остается окно терминала пока не закроешь сеанс Spice.
Вот сам скрипт python
https://pastebin.com/cqpUpnnV
Хочется все таки доразобраться с shell скриптом, но пока не понятно в чем дело. Возможно дело в том что после запуска gui терминал закрывается и что-то прибивает и GUI приложение spice.

qupl

Ярлык тут дело десятое, просто скрипт работает через раз. Почините скрипт - заработает и через ярлык.

sergey1212

Как добавить свой ярлык в меню Наутилус "открыть с помощью"?
Добавляю десктоп файл
/home/user/.local/share/applications/
/usr/share/applications/

Но в меню Открыть спомощью его не появлется.