LINUX.ORG.RU

Какая прграмма по умолчанию ответственна за открытие ярлыков .desktop в linux kali 2024

 


1

2

Приветсвую. Проблемака: у меня покрашились ярлыки.

  1. Я выбрал какую-то не ту прогу по умолчанию. Как поставить обратно, когда создаю ярлык MyApp.desktop. можно правой мышкой выбрать прграмму по умолчанию для открытия ярлыка. Знаю можно ctrl+shift + тащить. Но я хочу вручную.

  2. Еще не работают ярлыки .sh .bash файлов когда я переношу их на рабочий стол.

Благодарствую.

Кали тут вообще не причём, смотри документацию по своему DE. А ещё кали не нужна новичкам от слова совсем, возьми дистрибутив общего назначения (не обязательно user-friendly), например Arch или Debian.

Werenter ★★★
()
Ответ на: комментарий от Werenter

Ребят, я уже мучался с другими системами почему, кали не причём, помогите пожалуйста, очень надо, трубы горят.) А что такое DE?

countervector
() автор топика
Ответ на: комментарий от countervector

А что такое DE?

Если у тебя возникают такие вопросы, то тебе кали не нужна. DE — это Desktop Environment, или окружение рабочего стола, оно содержит в себе оконный менеджер, панельку и набор приложений. По сути это то, что ты видишь в качестве графического интерфейса, без DE или отдельного WM твой линукс будет выглядеть как чёрная консоль. Самые распространенные DE — GNOME, KDE, XFCE.

P.S. научись правильно ставить знаки препинания.

Werenter ★★★
()
Последнее исправление: Werenter (всего исправлений: 2)

На сайте Kali есть документация. Прочти её.

Алсо, я сейчас пошёл на сайт кали и нашёл там 9 (прописью: девять) разных вариантов для скачивания, и это только установочные/Live варианты, без образов для виртуальных машин и мобильных версий. Ну ты понял.

Aceler ★★★★★
()

Ярлыки запускает файловый менеджер или (даже чаще) панель задач ДЕ, на которой находится меню с ярлыками приложений.

Сами по себе это просто текстовые файлы с описанием картинки, подписи, названия и собственно того, как и что запустить. Но это не настоящие скрипты, которые можно запустить в консоли как приложение.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от kirill_rrr

Ок, ребят. Спасибо, братец, вроде понял, осталось понять какой именно файловый менеджер, он в списке прог есть для открытия?

countervector
() автор топика
Ответ на: комментарий от kirill_rrr

Пробовал выбирать в списке через консоль но не помогает. Просто открываетсся консоль. И все. Что делать может есть какие то каоманды в terminal’е для задания прги по умолчанию для открытия ярлыков??

countervector
() автор топика
Ответ на: комментарий от countervector

Нет. Всё довольно просто. Открываешь букварь и читаешь очень внимательно с первой страницы. Что не поймешь с первого раза, читать два, три, восемь раз…

andytux ★★★★★
()
Ответ на: комментарий от andytux

Это все так весело. Кто нибудь шарит в сурьезных вопросах, или только смешки подтешки?))) Можете помочь челу?)))

countervector
() автор топика
Ответ на: комментарий от countervector

На этом ресурсе популярен так называемый «троллинг тупостью». Это когда человеку нечем заняться, он регистрирует новый ник и придуривается изображая из себя полного нуба, специально задавая как можно более тупые вопросы. Вас, вероятно, принимают за такого тролля. Чтобы подобного не происходило, выражайте свои мысли как можно более ясно и корректно, не используйте разговорную лексику, и отвечайте на вопросы которые вам задают.

FishHook
()
Ответ на: комментарий от Vsevolod-linuxoid

У него есть рабочий стол. Значит, не гном.

И.о. Ш.Х.

Aceler ★★★★★
()
Ответ на: комментарий от countervector

Открытием desktop файлов в xfce занимаемся exo-open.

Ещё можно сбросить настройки среды в исходные, если удалить директории ~/.config/xfce4 и ~/.config/xfce4-session.

Aceler ★★★★★
()
Ответ на: комментарий от countervector

Дальше узнать конкретную задачу, которую ты хочешь выполнить. Потому что открывать .десктоп файлы из файлового менеджера и тем более терминала не правильно в любом случае. Если ебе значок запуска сделать это одно, если программу запустить - ну так она из терминала по своему имени запускается. А если не по имени, то путь/имя.

kirill_rrr ★★★★★
()
Ответ на: комментарий от Aceler

Спасибо, братки, попробую отпишусь. Сейчас поздно.)

countervector
() автор топика
Ответ на: комментарий от vantu5z

Вот вывод:

└─$ cat ~/.config/mimeapps.list
[Default Applications]
text/x-readme=org.kde.kate.desktop
text/plain=org.kde.kate.desktop
application/x-shellscript=userapp-bash-ZGSCL2.desktop
application/x-desktop=userapp-exo-open-EHX4K2.desktop
inode/symlink=userapp-bash-ZGSCL2.desktop

[Added Associations]
text/x-readme=org.kde.kate.desktop;
text/plain=org.kde.kate.desktop;
application/x-shellscript=org.kde.kate.desktop;userapp-java -jar 0.jar-FU74K2.desktop;qterminal.desktop;org.gnome.gedit.desktop;vim.desktop;nautilus-autorun-software.desktop;idle.desktop;kcm_filetypes.desktop;userapp-bash 0.sh-VD9KL2.desktop;userapp-asd-1E3PL2.desktop;userapp-bash-ZGSCL2.desktop;
application/x-desktop=org.kde.kwrite.desktop;kcm_filetypes.desktop;userapp-bash-ZGSCL2.desktop;userapp-File Associations-JWIHL2.desktop;org.kde.konsole.desktop;userapp-exo open-NSVAL2.desktop;
image/png=org.xfce.ristretto.desktop;
application/x-zerosize=org.gnome.gedit.desktop;userapp-bash-ZGSCL2.desktop;
inode/symlink=org.kde.kate.desktop;userapp-bash-ZGSCL2.desktop;
text/x-python=org.kde.kate.desktop;
application/vnd.appimage=org.kde.kate.desktop;

Кргда создаю ярлык на файл .sh то он работает только в папке с проектом с .jar или .py (с его исполнительным файлом). Но внимание если его вынести на рабочий стол, то он не работает.

countervector
() автор топика
Ответ на: комментарий от countervector

Вот это видимо лишнее:

application/x-desktop=org.kde.kwrite.desktop;kcm_filetypes.desktop;userapp-bash-ZGSCL2.desktop;userapp-File Associations-JWIHL2.desktop;org.kde.konsole.desktop;userapp-exo open-NSVAL2.desktop;

Но внимание если его вынести на рабочий стол, то он не работает.

https://wiki.archlinux.org/title/Desktop_entries (п. 3.1)

vantu5z
()
Ответ на: комментарий от vantu5z

Создал:

0.desktop

[Desktop Entry]
Type=Application
Version=1.0
Name=0.py
Comment=Pythonchik
Path=/home/u/Desktop/Documents/Files/python/Linux/Trochoid_0000/
Exec=python /home/u/Desktop/Documents/Files/python/Linux/Trochoid_0000/0.py
Icon=false
Terminal=false
Categories=Education;Languages;Java;
StartupNotify=false

Также и для .jar только в нужно поменять строчки Path и Exec на соответствующие:

Path=/home/u/Desktop/
Exec=java -jar /home/u/Desktop/0.jar

Так тоже работает для питончика и для джавы, но как сделать ярлык на .sh файл на рабочем столе. Миссия почти выполнена!

countervector
() автор топика
Ответ на: комментарий от countervector

Для начала покажи как ты пытаешься запустить .sh. И возможно получишь направление в какую сторону копать.

vantu5z
()
Ответ на: комментарий от countervector

Пока закрытый. Приоткрой хоть чуть. Покажи, что ты насочинял для sh, заодно покажи «шабанг».

andytux ★★★★★
()
Ответ на: комментарий от countervector

Прописать его в Exec= , очевидно. И Terminal=true.

Ярлыки в Linux это не ссылки на файлы, как в винде, а текстовые файлы, где прописаны команды на запуск, названия и пути до иконок.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от vantu5z

файл 00.desktop:

[Desktop Entry]
Type=Application
Version=1.0
Name=00.desktop
Comment=Pythonchik
Path=/home/u/Desktop/Documents/Files/python/Linux/Trochoid_0000/
Exec=python /home/u/Desktop/Documents/Files/python/Linux/Trochoid_0000/0.sh
Icon=false
Terminal=true
Categories=Education;Languages;Java;
StartupNotify=false

файл 0.sh:

#!/bin/bash 
python3 0.py

Сделал, как сказано добавил terminal=true Запускаю ярлык: Говорит: (permission Denied) и пишет какую ту длинную херню. Почти работает но с .jar и .py , а с .sh

countervector
() автор топика
Ответ на: комментарий от countervector

А нафига ты запускаешь питоновский скрипт через башовый скрипт через питон?

https://www.educative.io/answers/how-to-run-a-python-script-in-linux

#!/usr/bin/env python3 в начале скрипта, или какой там у тебя питон используется, и просто Exec=/путь/до/скрипта.py

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 3)
Ответ на: комментарий от J

в кали нет программ иначе как обеспечивать безопасность?

в кали нет программ иначе как ломать безопасность?

fixed

NyXzOr ★★★
()
Ответ на: комментарий от countervector

Вот это вот «шебанг», про который тебя спрашивали:

#!/bin/bash

А теперь гугли, что такое шебанг.

Ты не правильно пытаешься запустить скрипт, вот этим:

Exec=python ...
vantu5z
()
Ответ на: комментарий от vantu5z

Исправил:

Это:

#! /bin/env python3
python3 0.py

И это:

[Desktop Entry]
Type=Application
Version=1.0
Name=00.desktop
Comment=Pythonchik
Path=/home/u/Desktop/Documents/Files/python/Linux/Trochoid_0000/
Exec=/home/u/Desktop/Documents/Files/python/Linux/Trochoid_0000/Special Shebang.sh
Icon=false
Terminal=true
Categories=Education;Languages;Java;
StartupNotify=false

Выдает ошибку при запуске:

GDBus.Error:org.gt.GDBus.UnMappedGError.Quark._g_2dexec_2derror_2dquark.Code3: Failed to execute child process "/home/u/Desktop/1.Desktop"(Permission Denied)

Интересно, что сам файл .sh запускается без косяков.

countervector
() автор топика
Ответ на: комментарий от countervector

К тем ошибкам, что были, ты добавил ещё ошибок.

andytux ★★★★★
()
Ответ на: комментарий от countervector

После #! не должно быть пробела.
В Exec= тоже лучше без пробелов или их нужно экранировать.

Ну и если ты решил sh-скрипт заменить на python-скрипт, то у тебя не получилось.

У тебя всё было почти правильно. #!/bin/bash значит, что скрипт выполняется с помощью /bin/bash или просто bash.
Ну я надеюсь ты не просто так это в начало файла написал.

Напиши уже в Exec=bash ... и будет тебе счастье.

И самый интересный вопрос, зачем тебе это нужно? Есть вероятность, что задача решается совсем по-другому.

Upd. ты же не забыл сделать sh-скрипт исполняемым?

vantu5z
()
Последнее исправление: vantu5z (всего исправлений: 1)
Ответ на: комментарий от vantu5z

Да, у меня стоит linux kali 2024 и DE(Среда Окружения): xfce.

Чтобы узнать систему DE в linux нужно просто:

sudo echo $XDG_CURRENT_DESKTOP

-A) Теперь ясно, что файл по умолчанию для открытия ярлыков: ```

exo-open

A) Я выяснил, что ярлыки можно создавать файлом .desktop для .sh .jar .py , если делать так:

  1. Создал файл: 0.sh:
#!/bin/bash 
python3 0.py

Поставил прогу для открытия по умолчанию .sh а параметрах (Use a Custom Command:) bash

Создал файл: 00.desktop Поставил прогу по умолчанию для открытия ярлыка .desktop (Use a Custom Command:) exo-open

Добавил в него:

[Desktop Entry]
Type=Application
Version=1.0
Name=00.desktop
Comment=Pythonchik
Path=/home/u/Desktop/Documents/Files/python/Linux/Trochoid_0000/
Exec=bash '/home/u/Desktop/Documents/Files/python/Linux/Trochoid_0000/Special Shebang.sh'
Icon=false
Terminal=true
Categories=Education;Languages;Java;
StartupNotify=false

Не зыбыл экранировать bash ‘…Путь…’ B) Можно создать ярлык на папку: просто перетащив зажав ctrl+shift правой и левой кнопкой мыши на рабочий стол из нужного места. Но для .sh .jar .py. нужно способом: A)

C) ПКМ на папку/SendTo. Но для .sh .jar .py. нужно способом: A) Всем пацанам со двора и района огромнейшее спасибо. Выручили обалденно.

D) Аналогично можно создать ярлыки для .jar и .py и при этом просто нужно указать ‘Exec=’ и ‘Path’, например, так:

Exec=java -jar '/home/u/Desktop/Documents/Files/java/App0/0.jar'

и соответсвенно:

Exec=python '/home/u/Desktop/Documents/Files/python/Linux/Trochoid_0000/0.jar'

E)P.S. Не забудье поставить в свойствах всех файлов разрешение Allo Run This File As Program (сделайте их исполняемымми) Весьма, признателен, братцы, закончил. Ура!) Ура!) Ура!)

countervector
() автор топика
Ответ на: комментарий от countervector

Сколько ненужных шагов и костылей… https://xkcd.ru/763/

  • sudo для такого не нужно
  • Чтобы запустить любой скрипт, достаточно, чтобы он сам был исполняемым и в первой строчке корректно указан интерпетатор.
  • Делать .desktop файлы исполняемыми совершенно незачем
  • Зачем назначать программу для открытия .desktop файлов я вообще не понимаю, они и так из коробки должны работать — если не кривые, как у тебя

Короче, ты сделал версию машины Голдберга — работает, но с 100500 ненужных шагов.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Werenter

не обязательно user-friendly

Debian

Э-э-э… Что? Для пользовательских нужд Debian очень user-friendly, там софт просто работает без плясок с бубном и не ломается при обновлении.

Vilicus
()
Ответ на: комментарий от Vilicus

Я имел ввиду, что не обязательно использовать user-friendly дистрибутив, при этом я не писал, что Debian таким не является. Я его привёл как пример дистрибутива общего назначения.

Werenter ★★★
()
Ответ на: комментарий от countervector

«Диагноз товарища Саахова явно подтверждается.»

Маразм крепчал. И просвета в этой пурге не видно.

andytux ★★★★★
()
Ответ на: комментарий от andytux

Да, у меня стоит linux kali 2024 и DE(Среда Окружения): xfce.

Чтобы узнать систему DE в linux нужно просто:

sudo echo $XDG_CURRENT_DESKTOP

-A) Теперь ясно, что файл по умолчанию для открытия ярлыков: exo-open

A) Я выяснил, что ярлыки можно создавать файлом .desktop для .sh .jar .py , если делать так:

  1. Создал файл: 0.sh:
#!/bin/bash 
python3 0.py
  1. Поставил прогу для открытия по умолчанию .sh а параметрах (Use a Custom Command:) bash

  2. Создал файл: 00.desktop Поставил прогу по умолчанию для открытия ярлыка .desktop (Use a Custom Command:) exo-open

Добавил в него:

[Desktop Entry]
Type=Application
Version=1.0
Name=00.desktop
Comment=Pythonchik
Path=/home/u/Desktop/Documents/Files/python/Linux/Trochoid_0000/
Exec=bash '/home/u/Desktop/Documents/Files/python/Linux/Trochoid_0000/Special Shebang.sh'
Icon=false
Terminal=true
Categories=Education;Languages;Java;
StartupNotify=false

Не зыбыл экранировать bash ‘…Путь…’

B) Можно создать ярлык на папку: просто перетащив зажав ctrl+shift правой и левой кнопкой мыши на рабочий стол из нужного места. Но для .sh .jar .py. нужно способом: A)

C) ПКМ на папку/SendTo. Но для .sh .jar .py. нужно способом: A) Всем пацанам со двора и района огромнейшее спасибо. Выручили обалденно.

D) Аналогично можно создать ярлыки для .jar и .py и при этом просто нужно указать ‘Exec=’ и ‘Path’, например, так:

Exec=java -jar '/home/u/Desktop/Documents/Files/java/App0/0.jar'
и соответсвенно:

Exec=python ‘/home/u/Desktop/Documents/Files/python/Linux/Trochoid_0000/0.jar’```

E)P.S. Не забудье поставить в свойствах всех файлов разрешение: Allo Run This File As Program (сделайте их исполняемымми)

F)Не забудьте поствить Диагноз болен.

G)Можно также создать на рабочем столе ярлык и таким способом ПКМ/Create Launcher. С параметрами:

Exec=java -jar '/home/u/Desktop/Documents/Files/java/App0/0.jar'
Path=/home/u/Desktop/Documents/Files/java/App0/

Галочка на: Run in Terminal

H) Но SendTo/Desktop (Create Link) не работает!!! Вот из-за этого и была вся херня…)

Еще раз всем Вам спасибо за огромный труд, долго мучались. ;)

countervector
() автор топика
Ответ на: комментарий от countervector

Еще раз повторю: хотя все это и работает, ты использовал очень много ненужных костылей. Отсюда и реакция на твое сообщение.

В твоем случае было достаточно сделать пару файлов исполняемыми и написать 1 .desktop файл.

У тебя же Смерть Кащеева — игла в яйце, яйцо в утке, утка в зайце…

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

О, можно еще немного доработать:)

Положить этот sh-скриптик с осмысленным именем в ~/.local/bin/ (добавить ее в переменную PATH) и тогда в .desktop можно будет указывать только имя скрипта.

А если еще .desktop файлик положить в ~/.local/share/applications/, то он в меню приложений появится.

vantu5z
()
Последнее исправление: vantu5z (всего исправлений: 2)
Ответ на: комментарий от vantu5z

Твои предложения вполне разумны.

Но здесь не «дорабатывать». Более точно сказано, здесь «смерть Кащея», система умерла. Уже с самых первых слов понятно, не следует расчитывать на адекватность работы системы. Можно только добить её и… А так-как, Кали вообще на предназначена для установки, установить другую систему. А если уж Кали, то работая в ней «вживую», все его разрушения лечились-бы перезагрузкой. Но балбесы до этого никак не допрут.

andytux ★★★★★
()
Ответ на: комментарий от countervector

Создал файл: 0.sh:

С этого начать.

«.sh» в имени файла не делает его шелл-скриптом, оно не значит вообще ничего. Скриптом файл делает шабанг (это если уж совсем кратко-грубо). Если шабанг правильный, то: «Exec=bash …», bash не нужен вообще. Если шабанг неправильный, то он бесполезен.

#!/bin/bash

Шабанг неправильный. В связи с «расчисткой корня», уже лет несколько не существует каталога bin. Пока, для совместимости, он сделан символической ссылкой, только поэтому работает. А разве ты делал баш-скрипт? Почему тогда расширение «.sh»? А если это все-таки шелл-скрипт, то почему в шабанге «bash»?

#! /bin/env python3

Еще более неправильный. env никогда не было в bin. Но сейчас будет работать, опять потому, что «симлинк bin».

Но, не переписывать-же сюда весь букварь.

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 1)
Ответ на: комментарий от countervector

В самом скрипте указан путь в локальную директорию. Ты пытаешься запустить его из другой директории. Разумеется, оно не работает. Проблема в том, что ты неправильно написал скрипты. Тут даже не Kali виновата, а просто твоя некомпетентность. Это не отменяет того, что Kali тебе не нужен.

shell-script ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.