Где сила бросить?

12

я пытаюсь создать пользовательский модуль запуска в 11.10 для модуля запуска принудительного выхода, который был у нас в 11.04 (вы можете добавить его из списка приложений, но теперь его нигде нет, даже в alacarte ..) .. я пытаюсь использовать информацию отсюда, но я понятия не имею, что такое файл или команда для принудительного завершения или где она находится в файловой системе.

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

я создам файл с именем forcequit.desktop и поместу его в папку ~ / .local / share / apps, а затем перетащу его на панель инструментов, как сказано в другом месте.

содержимое файла будет выглядеть так:

#!/usr/bin/env xdg-open  
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=sh -c 'notify-send "Click on an application to force-close it, or press Esc to cancel."; xkill'
Name=Force Quit
Comment=Click on the app to quit with your pointer
Icon=gnome-panel-force-quit
Categories=System,Accessories;

Я полагаю, это может быть специальная команда, которая принимает аргумент, опять же, если у вас есть информация, пожалуйста, скажите :)

я написал комментарии в файле о нужной мне информации ..

edit: хорошо, теперь он работает с отображением специального значка X и заставляет правильно завершить работу .. теперь мне просто нужно узнать, как получить инструкции для конечного пользователя, как это происходит при использовании из CLI. Предположим, что он отображает комментарий программы запуска на экране где-нибудь? какие-либо идеи или ссылки? или, может быть, мне нужно что-то добавить в этот файл запуска?

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

Последнее редактирование: все эти разговоры заставляют меня захотеть поискать варианты уведомлений-отправлений немного больше ... и, в более широком масштабе, всех остальных команд, которые я могу использовать ..... Уведомление-отправка является частью GNOME ? или это часть sh? (я сомневаюсь, что это от sh)

отредактируйте к последнему редактированию: не обращайте на это внимания .. я также нашел ответ на этот вопрос .. notify-send является частью пакета библиотеки libnotify .. и notify-send находится в папке tools (сначала у меня возникли проблемы с ее поиском. и это не определенно часть гнома, а скорее другая библиотека, используемая многими приложениями :)

Марк-Андре Бенуа
источник

Ответы:

10

Команда, как уже сказал WarriorIng64, есть xkill.

Чтобы показать некоторые инструкции для конечного пользователя, возможно, используйте

notify-send "Click on an application to force-close it, or right-click to cancel."

Теперь, чтобы объединить две команды в один модуль запуска, вам нужно обернуть их sh -c '...', поэтому ваш файл .desktop должен сказать

Exec=sh -c 'notify-send "Click on an application to force-close it, or right-click to cancel."; xkill'
Мариус Гедминас
источник
Стоит проголосовать за избиение меня на 15 минут!
Scaine
что уведомить отправить делает последний трюк :)
Marc-Andre Benoit
1
@Marius Это явно превосходит мой принятый ответ. Хорошая работа, делающая его более презентабельным и удобным!
Кристофер Кайл Хортон
В заключение я задаюсь вопросом об использовании sh VS bash .. это просто ради переносимости (для всех есть sh, но не все могут использовать / иметь bash (что само по себе странно, но возможно!))
marc-andre benoit
1
По крайней мере, для меня в Ubuntu 11.04 escape не работает, но щелчок правой кнопкой мыши отменяет запрос xkill.
Шейн С.
7

Вместо того, чтобы писать свой собственный, вы можете попробовать это:

Flashfreeze

Иди сюда и проверь это; http://www.omgubuntu.co.uk/2011/10/freezeunfreeze-unity-app-killer/

или http://www.omgubuntu.co.uk/2011/10/force-quit-applet-unity-launcher/

lqlarry
источник
гм ... не очень полезно, кроме как направить меня к иконке (после загрузки и чтения исходного кода из файла скрипта .. мне не нужен разморозка и тому подобное :), но спасибо за ваш ответ ..
marc-andre Бенуа
Но нет способа заставить это меню появиться (например, нажав Shift). Иногда оно появляется, если приложение правильно заморожено, но если приложение все еще реагирует, но отказывается выходить? Не повезло тебе.
Тимммм
6

Я не знаю, есть ли значок для принудительного выхода, но соответствующая команда есть xkill.

Кристофер Кайл Хортон
источник
1
иконка на самом деле - gnome-panel-force-quit, которую я сейчас отредактирую соответственно ..
marc-andre benoit
2

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

Создайте следующий файл, возможно, как forceclose:

#! /bin/sh 

notify-send 'Force close application' 'Select a window to close it.  All data in that window will be lost.  Right click to cancel.' --icon=gtk-cancel
xkill

Затем пометьте его как скрипт с chmod +x forceclose

Тогда либо:

a) переместите его в каталог / bin с помощью sudo mv forceclose /bin/forcecloseи измените вашу панель запуска на call forcecloseвместо xkill. (возможно, полезно для нескольких пользователей одной и той же системы)

или

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

Scaine
источник
1
И я вижу, что Мариус избил меня за 15 минут, которые потребовались мне, чтобы
изучить
слишком сложно, но спасибо за ваши усилия! я имею в виду, что более элегантно иметь все это в одном файле, а не создавать дополнительный :) решение, предложенное marius, в следующий раз принесет удачу!
Марк-Андре Бенуа
Вы сделали большую сделку по поводу уведомлений для своих «пользователей», поэтому я предположил, что в каждой системе может быть несколько пользователей, и в этом случае добавление его в / bin имеет смысл. Рад, что вы нашли ответ, который подходит.
Scaine
1
ps создание файла, пометка его как исполняемого и копирование его в другое место "слишком сложно"?!? Я не уверен, что у вас есть правильное слово там! :-)
Scaine
да, извините .. я просто очень устал, я был на марафоне Power Nap (4 дня подряд), что я имел в виду только то, что уведомление было встроено в код, а не в отдельный файл, сделанный для меньшего следа, только один файл вместо два, но, оглядываясь назад, дополнительный файл обеспечивает лучшую модульность, которая может быть важна в больших проектах, я думаю :)
marc-andre benoit
1
  1. Нажмите Alt+ F2.
  2. Тип xkill. затем нажмите Enter.
  3. Нажмите на окно, которое вы хотите убить (щелкните правой кнопкой мыши, чтобы отменить).
Алексан
источник
1
Это сработает, но ОП спрашивает, как на самом деле превратить его в панель запуска, на которую вы можете нажать.
Кристофер Кайл Хортон
я знаю, как это сделать в CLI, но у меня есть пользователи, которые не хотят иметь с этим ничего общего :), именно поэтому я и задаю вопрос в первую очередь ..
marc-andre benoit