Закройте все окна одного приложения в оболочке gnome.

Как говорится в заголовке: Есть ли ярлык для закрытия всех окон одного и того же приложения в оболочке gnome или расширения для этого?

Спасибо.

1
задан 28 February 2013 в 23:44

3 ответа

Вы можете выполнить следующую команду в терминале:

killall <application>

или нажать супер-ключ (windows / apple / ubuntu) и введите xkill. И нажмите приложение, которое вы хотите убить.

2
ответ дан 25 May 2018 в 00:58
  • 1
    Хороший инструмент, но было бы намного лучше, если бы что-то вроде опции «Выход» в контекстном меню Unity – Ahmed Khalaf 1 March 2013 в 00:00
  • 2
    Вы имеете в виду ярлык? да, вам нужно будет запрограммировать сценарий, который я думаю: /. Если вы не увидите все доступные команды по единству, просто держите супер;). – Thomas15v 1 March 2013 в 00:05
  • 3
    Например, killall evince закрывает все открытые окна PDF. – Paul Rougieux 25 November 2015 в 18:23

Предполагая, что вы используете UNITY и его LAUNCHER, вы можете сделать это («Закрыть все окна одного и того же приложения»), выбрав целевое приложение в LAUNCHER, а затем с помощью кнопки right arrow «Quit».

1
ответ дан 25 May 2018 в 00:58
  • 1
    В вопросе и заголовке конкретно упоминается оболочка GNOME. – iBelieve 28 February 2013 в 23:57
  • 2
    Я знаю. Я стараюсь быть полезным, а не пунктуальным; вопрос задает ярлык, и метод, который я описал, очень короткий для меня в моей настройке. Но привязка ярлыка к команде, как и у Томаса Ванмеллайца, тоже в порядке, конечно! Это вопрос вкуса. Кроме того, я обычно предпочитаю осторожно закрывать приложения, а не жестоко убивать («выполнять»). – nutty about natty 1 March 2013 в 00:02
  • 3
    @iBelieve Возможно, в GNOME Shell нет возможности закрыть ... как в Launcher, по крайней мере не по умолчанию: live.gnome.org/GnomeShell/CheatSheet – nutty about natty 1 March 2013 в 01:53
  • 4
    См. Альтернативный подход в моем втором ответе, специально предназначенный для оболочки GNOME (в отличие от Unity ) ... – nutty about natty 1 March 2013 в 02:04

Вот сценарий, который закроет все окна определенного приложения, когда вы нажмете на одно из его окон (используя killall):

#! /usr/bin/env python

import sys,os, subprocess

# Function based on code from Apport
def get_window_pid():
    xprop = subprocess.Popen(['xprop', '_NET_WM_PID'],
            stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    (out, err) = xprop.communicate()
    if xprop.returncode == 0:
        try:
            return int(out.split()[-1])
        except ValueError:
            error_message(_('Cannot identify package'),
                    _('xprop failed to determine process ID of the window') + '\n\n' + err)
            return -1
    else:
        error_message(_('Cannot identify package'),
                _('xprop failed to determine process ID of the window') + '\n\n' + err)
        return -1

def get_window_exe():
    pid = get_window_pid()

    if pid == -1:
        return ''

    return os.path.realpath('/proc/' + str(pid) + '/exe')

def close_all():
    app = get_window_exe()
    os.system('killall ' + app)

if __name__=='__main__':
    close_all()

Сохраните это в файле (например, [ f3]) и убедитесь, что он находится в системном пути и является исполняемым.

Затем вы можете запустить его в любое время, нажав Alt + F2 и набрав closeall.

0
ответ дан 25 May 2018 в 00:58
  • 1
    На самом деле xkill не то же самое? – Thomas15v 1 March 2013 в 00:25
  • 2
    Ничего себе, приятно. Это похоже на xkill, предложенный Томасом Ванмеллартсом. Но я ищу что-то вроде опции «Выход» в единственном пусковом устройстве, спасибо за вашу помощь. – Ahmed Khalaf 1 March 2013 в 00:27
  • 3
    @ThomasVanmellaerts Это закрывает все окна определенного приложения (не только одного). Я не думаю, что xkill может это сделать, хотя я не уверен, что делает опция -all. – iBelieve 1 March 2013 в 00:30

Другие вопросы по тегам:

Похожие вопросы: