Onde a força é encerrada?


12

Estou tentando criar um iniciador personalizado na 11.10 para o lançamento especial de força que tivemos no 11.04 (você pode adicioná-lo da lista de aplicativos, mas agora não há lugar para ser encontrado, mesmo em alacarte ..) .. então Eu tento usar informações a partir daqui, mas não tenho idéia de qual é o arquivo ou comando real para forçar o encerramento, nem onde ele está no sistema de arquivos.

essa pergunta é realmente específica para forçar o encerramento e não se trata de perguntar como criar um iniciador.

vou criar um arquivo chamado forcequit.desktop e colocá-lo na pasta ~ / .local / share / applications e, em seguida, arrastá-lo para a barra de ferramentas, como é dito em outro lugar.

o conteúdo do arquivo ficará assim:

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

Suponho que possa ser um comando especial que requer um argumento, novamente, se você tiver as informações, informe :)

eu escrevi comentários no arquivo sobre as informações que eu preciso ..

edit: ok agora ele funciona mostrando um ícone especial do X e força sair corretamente .. agora eu só preciso descobrir como obter instruções para aparecer para um usuário final, assim como quando se usa da CLI .. suponha que ele exiba o comentário do iniciador na tela em algum lugar? alguma idéia ou link? ou talvez eu precise adicionar algo a este arquivo do iniciador?

última edição: bem, a solução da edição acima foi encontrada, é o uso do envio de notificação que faz o truque .. como agora é refletido no código .. aproveite a solução para a sua área de trabalho (ou para os usuários finais com suporte) !)

lastest edit: toda essa conversa me faz querer procurar um pouco mais as opções de notificação-envio ... e bem em uma escala maior em todos os outros comandos que posso usar ..... a notificação-envio faz parte do gnome. ? ou é parte de sh? (duvido que seja de sh)

edite para a edição mais recente: não se preocupe, encontrei uma resposta para isso também .. notificar-enviar faz parte do pacote da biblioteca libnotify .. e notificar-enviar está na pasta de ferramentas (tive problemas para encontrá-lo no início. .) e não, não faz parte especificamente do gnome, mas sim outra biblioteca usada por muitos aplicativos :)

Respostas:


10

O comando, como já disse WarriorIng64, é xkill.

Para mostrar algumas instruções para o usuário final, talvez use

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

Agora, para combinar dois comandos em um lançador, você precisará envolvê-los sh -c '...', para que seu arquivo .desktop diga

Exec=sh -c 'notify-send "Click on an application to force-close it, or right-click to cancel."; xkill'

Vale a pena votar por me vencer por 15 minutos!
Scaine 25/10

que notificar send faz o truque último :)
Marc-Andre Benoit

1
@ Marius Isso é claramente superior à minha resposta aceita. Bom trabalho, tornando-o mais apresentável e fácil de usar!
Christopher Kyle Horton

em conclusão, eu me pergunto sobre o uso do sh VS bash .. é apenas por uma questão de portabilidade (para todo mundo tem sh, mas nem todos podem usar / ter bash (o que por si só é estranho, mas possível!))
marc-andre benoit

1
Pelo menos para mim no Ubuntu 11.04, o escape não funciona, mas clicar com o botão direito cancelará o prompt do xkill.
Shane S.

7

hum .. não é muito útil além de me apontar para o ícone (depois de baixar e ler o código-fonte do arquivo de script .. eu não preciso de um descongelamento e tal :) mas obrigado pela sua resposta ..
marc-andre benoit 25/10

Mas não há como fazer esse menu aparecer (por exemplo, clicando com a tecla Shift). Às vezes, aparece se um aplicativo está congelado corretamente, mas se um aplicativo ainda responde, mas se recusa a sair? Você está sem sorte.
Timmmm


2

Se você precisar absolutamente da notificação, poderá conseguir isso com o envio de notificação.

Crie o seguinte arquivo, talvez como 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

Em seguida, marque-o como um script com chmod +x forceclose

Qualquer então :

a) mova-o para o diretório / bin com sudo mv forceclose /bin/forceclosee altere o iniciador para chamar em forceclosevez de xkill. (útil para vários usuários do mesmo sistema, talvez)

ou

b) altere o iniciador para apontar para o diretório que contém o script de exclusão. Observe que outros usuários desse sistema obviamente não poderão usar seu script.


1
E vejo que Marius me venceu pelos 15 minutos que levei para pesquisar e responder a ela ... <sigh> #
Scaine Scaine

muito complicado, mas obrigado pelo seu esforço! quero dizer, é mais elegante ter tudo em um único arquivo, em vez de criar um arquivo extra :) a solução proposta por marius faz exatamente essa melhor sorte na próxima vez!
Marc-Andre Benoit

Você fez muita coisa sobre a notificação para seus "usuários", portanto, presumi que você possa ter vários usuários em cada sistema; nesse caso, adicioná-la a / bin faz sentido. Ainda bem que você encontrou uma resposta que combina com você.
Scaine

1
ps criar um arquivo, marcá-lo como executável e copiá-lo para outro local é "muito complicado"?!? Não sei se você tem a palavra certa lá! :-)
Scaine

sim desculpe .. eu estava realmente cansada, estava em uma maratona de soneca de poder (4 dias seguidos) o que eu quis dizer é que ter a notificação incorporada no código versus em um arquivo separado feito para uma pegada menor, apenas um arquivo em vez de dois, mas olhando para trás o arquivo extra faz para uma modularidade melhor que pode ser importante em projetos maiores i adivinhar :)
Marc-Andre Benoit

1
  1. Pressione Alt+ F2.
  2. Digite xkill. depois pressione Enter.
  3. Clique na janela que deseja matar (clique com o botão direito para abortar).

1
Isso funcionaria, mas o OP está perguntando como realmente transformá-lo em um iniciador no qual você pode clicar.
Christopher Kyle Horton

Eu sei como fazer isso no CLI, mas eu tenho os usuários que não querem nada a ver com isso :) que é a razão de eu fazer a pergunta em primeiro lugar ..
Marc-Andre Benoit
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.