Como fechar o wicd gui sem deixar o processo de pendurar

1

Se eu abrir o wicd gui com wicd-gtk & , fechá-lo (mesmo usando o botão "Quit") pode fechar o gui, mas sempre deixa um processo wicd-client rodando em segundo plano aparentemente sem fazer nada. Percebi isso porque verifiquei meus processos em execução após 20 dias de tempo de atividade apenas para encontrar cerca de 15% dewicd-client s listados. FYI eu estou correndo debian jessie.

Como esses processos não morrem com o gui e como posso consertar isso?

Eu tenho notado que se eu inicio o cliente sem fazer o background (isto é, simplesmente com o comando wicd-gtk ) quando eu fecho o gui, o terminal ainda trava até que eu CTRL-C. Ao pressionar CTRL-C, o processo wicd-client é fechado.

    
por nullUser 26.08.2014 / 06:21

3 respostas

1

wicd-gtk trava quando a janela está fechada, a menos que é invocado como wicd-gtk --no-tray ou wicd-client --no-tray (% semwicd-curses instalado, wicd-client invoca wicd-gtk ).

A solução rápida é colocar algo assim em seu PATH ou shell perfil que substitui wicd-gtk com wicd-gtk --no-tray .

Para os usuários que não querem correr o cliente em segundo plano, ou usar o temia wicd-curses cliente , isso não é irritantemente configurável sem a opção de linha de comando; wicd-client.py precisaria ser corrigido. O patch pode ser uma verificação de um processo existente e, em seguida, abrir uma janela do GTK anexada a esse processo, em vez de iniciar.

    
por 30.10.2015 / 04:45
1

Ainda tenho o mesmo problema com o wicd. O problema subjacente é que, quando você inicia o wicd, ele lança processos separados para manipular o que precisa ser manipulado, o que não é sua entrada. Esses processos interagem, mas não são um processo, a GUI é um processo, o monitor é um processo, o daemon também é seu próprio processo. Você pode ver abaixo que não é um programa sendo lançado no sentido tradicional, mas três ou quatro scripts python lançados por interpretadores Python separados.

Se você abrir um terminal, examine-o com top -c (a opção de comando show) e verá que os processos em execução são:

/usr/bin/python -O /usr/share/wicd/daemon/monitor.py
/usr/bin/python -O /usr/share/wicd/daemon/wicd-daemon.py
/usr/bin/python -O /usr/share/wicd/gtk/wicd-client.py

Agora estou executando o Ubuntu, que é uma variante do Debian, mas o processo que funciona para mim provavelmente funcionará para você com pouco ou nenhum ajuste.

Primeiro, obtenha os pids com ps aux | grep wicd

2º, execute kill e os pids dos processos.

OR

se você não tem outros intérpretes de python abertos, você pode obtê-los todos de uma vez com

kill $(pidof python)
    
por 26.08.2014 / 07:52
-1

Você não diz se está executando wicd-gtk ou wicd-curses? Soa como GTK desde que você menciona "botão".

O wicd-gtk é um processo único (sessão do Python). Desculpe a knotech, mas você está errado. Existem processos de daemon e monitor, mas eles devem permanecer em execução o tempo todo e é extremamente improvável que haja várias cópias, e elas não serão chamadas de wicd-client. Apenas por completo, o daemon (e monitor) pode ser iniciado executando wicd-client, mas isso só acontecerá se eles ainda não estiverem em execução e somente depois que você digitar sua senha do gksudo. Se você matar o daemon, suas redes não serão mais gerenciadas, elas não serão automaticamente (religadas) e você poderá ficar sem conexão.

Então wicd-gtk inicia um ou ambos, ou nenhum, de uma janela e um ícone de bandeja. Digitar apenas wicd-gtk (ou digitar wicd-client que executará seu tipo instalado de wicd client) deve iniciar ambos. O wicd-gtk --tray iniciará apenas a bandeja, wicd-gtk --no-tray apenas a janela. wicd-gtk - somente as notificações não serão iniciadas, apenas gerando um processo que pode gerar bolhas de notificação quando as redes estiverem conectadas ou desconectadas.

Pressionar o botão Sair na janela fecha a janela. Ele não fecha o ícone da bandeja, então se você começou com apenas wicd-gtk (ou wicd-gtk --tray e depois abriu a janela), então você ficará com um ícone de bandeja. Isso é conhecido como comportamento "próximo à bandeja" e é muito comum, embora possa ser melhor para algumas pessoas se ele não puder ser configurado. Se você começou com wicd-gtk --no-tray, a coisa toda será fechada quando você pressionar o botão Quit. Se você tem um ícone de bandeja (você?), Então você pode fechar a coisa toda a partir do menu de contexto do ícone da bandeja. Ou com ctrl-C de onde você começou.

Se você não tiver um ícone de bandeja e não quiser um, comece com wicd-gtk --no-tray. Então o seu cliente fechará quando você pressionar o botão Sair. Se você quiser um ícone de bandeja, mas quer que a coisa toda desapareça quando você pressionar o botão Sair na janela, no momento em que estiver sem sorte.

    
por 30.03.2015 / 15:17