哪里有部队退出?


12

我正在尝试为11.04中的特种部队退出发射器在11.10中制作一个自定义发射器(您可以从应用程序列表中添加它,但现在到处都找不到,即使在alacarte ..)我尝试从此处使用信息, 但我不知道强制退出的实际文件或命令是什么,也不知道其在文件系统中的位置。

这个问题实际上是强制退出自身的问题,与询问如何创建发射器无关。

我将创建一个名为forcequit.desktop的文件,并将其放在〜/ .local / share / applications文件夹中,然后将其拖到工具栏,就像在其他地方说的那样。

文件的内容将如下所示:

#!/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;

我想这可能是一个带参数的特殊命令,同样如果您有此信息,请告诉:)

我在文件中写了有关我需要的信息的评论。

编辑:好的,现在它可以显示一个特殊的X图标,并且确实可以正确退出。.现在,我只需要找出如何使最终用户显示指令的方式,就像从CLI使用时一样。假设它在屏幕上某处显示启动器的注释?有什么想法或链接吗?还是我需要在此启动器文件中添加一些内容?

上一次编辑:很好,找到了上述编辑的解决方案,正是使用notify send来解决问题。就像现在代码中所反映的那样。.为您的桌面(或您支持的最终用户)享受解决方案!)

最新的编辑:所有这些谈话使我想去寻找通知发送选项更多..并且在我可以使用的所有其他命令上进行更大的扩展...通知发送是gnome的一部分吗? ?还是sh的一部分?(我怀疑它来自sh)

编辑到最新的编辑:没关系。.我也找到了答案。.notify-send是libnotify库包的一部分..并且notify-send在tools文件夹中(我最初很难找到它。 。)并且它不是gnome的一部分,而是许多应用程序使用的另一个库:)

Answers:


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 2011年

通知send做最后的把戏:)
marc-andre benoit 2011年

1
@Marius这显然优于我接受的答案。做好工作,使其更具表象性和用户友好性!
Christopher Kyle Horton

总之,我想知道使用sh VS bash ..仅仅是为了可移植性(每个人都有sh,但不是每个人都可以使用/拥有bash(它本身很奇怪,但可能!))
marc-andre benoit

1
至少对我在Ubuntu 11.04,逃避做工作,但右键单击将取消xkill提示。
Shane S.

7

嗡嗡声..除了指向我指向图标(从脚本文件下载并阅读源代码后..我不需要解冻等等)之外,没有什么用,但是感谢您的回答..
marc-andre benoit

但是没有办法使此菜单出现(例如,通过按住Shift键并单击)。如果应用程序正确冻结,有时会出现,但是如果应用程序仍在响应但拒绝退出,该消息会出现吗?你真倒霉
Timmmm 2013年


2

如果您绝对需要通知,则可以通过notify-send实现。

创建以下文件,可能是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然后将启动器更改为forceclose而不是进行调用xkill。(可能对同一系统的多个用户有用)

要么

b)将启动程序更改为指向包含您的forceclose脚本的目录。请注意,该系统的其他用户显然将无法使用您的脚本。


1
我发现马里乌斯在15分钟内击败了我,我花了15分钟研究了答案并将其发布... <叹>
Scaine 2011年

太复杂了,但是感谢您的努力!我的意思是说,将所有内容放在一个文件中要比创建一个额外的文件更优雅:) marius提出的解决方案下次运气更好!
marc-andre benoit 2011年

您对“用户”的通知进行了大量工作,因此我假设您在每个系统上可能有多个用户,在这种情况下,将其添加到/ bin才有意义。很高兴您找到了一个适合的答案。
Scaine 2011年

1
ps创建一个文件,将其标记为可执行文件并将其复制到另一个位置是“太复杂”了吗?我不确定您那里的用词正确吗!:-)
Scaine 2011年

是的,对不起..我真的很累,我正在进行一次小睡马拉松(连续四天),我的意思是将通知嵌入代码中,而不是将文件嵌入一个较小的文件中,而只用一个文件代替二,但是回头看一下多余的文件可以得到更好的模块化,这在更大的项目中可能很重要:)
marc-andre benoit 2011年

1
  1. Alt+ F2
  2. 输入xkill。然后按Enter
  3. 单击要杀死的窗口(右键单击以中止)。

1
这可以工作,但是OP正在询问如何将其实际转换为可以单击的启动器。
Christopher Kyle Horton

我知道如何在CLI上执行此操作,但是我有用户不希望与它相关:)这就是我首先问这个问题的原因..
marc-andre benoit 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.