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/

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