Как убрать «зависшие» приложения из панели задач XFCE при работе с 1С на Linux?

Системный администратор IT и автоматизация бизнеса
← На главную

При использовании 1С:Предприятие на операционных системах семейства Linux с графической оболочкой XFCE (которую часто называют «крыской») системные администраторы могут столкнуться с неприятным визуальным багом. Приложения уже закрыты, а их значки продолжают отображаться в панели задач в плагине «Кнопки окон». Попытки закрыть их через контекстное меню правой кнопкой мыши ни к чему не приводят. В этой статье мы подробно разберем, почему это происходит и как очистить панель задач от «фантомных» окон.

Проверка состояния процессов в системе

Прежде всего, проанализируем ситуацию, которая возникла в исходном обсуждении. Часто пользователю кажется, что приложение закрыто, но на уровне операционной системы процесс продолжает существовать. Это может произойти, если программа «зависла» при попытке записи логов или ожидания ответа от сервера 1С.

Рассмотрим, как убедиться, что процессы действительно завершены. Для этого воспользуемся терминалом и проверим наличие активных процессов, связанных с 1С или другими подозрительными приложениями. Выполним команду:


ps aux | grep 1cv8
ps aux | grep thinclient

Если в списке отображаются процессы, их необходимо принудительно завершить. Разберем, как это сделать правильно. Если обычное завершение не помогает, используем сигнал SIGKILL (ключ -9):

kill -9 [PID_процесса]

Только после того, как мы убедились, что в таблице процессов пусто, а иконка в панели задач осталась, можно переходить к исправлению графических глюков оболочки.

Принудительный перезапуск панели XFCE

Самый эффективный и быстрый способ обновить список окон без перезагрузки всей системы — это перезапуск самой панели. Панель в XFCE — это отдельный процесс xfce4-panel. Мы можем перезапустить его одной командой, которая сохранит все ваши настройки и открытые виджеты, но заставит оболочку заново просканировать активные окна.

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

xfce4-panel -r

После этого панель на секунду исчезнет и появится снова. В 90% случаев это полностью решает проблему «зависших» кнопок. Это происходит потому, что плагин «Кнопки окон» принудительно перерисовывается, считывая актуальную информацию от оконного менеджера.

Устранение процессов в состоянии «Zombie»

Иногда процесс вроде бы убит, но его запись остается в системе. Проанализируем ситуацию с так называемыми процессами-зомби. В выводе команды top или htop они помечаются буквой Z. Это состояние означает, что процесс завершился, но его родительский процесс еще не обработал код завершения.

Панель XFCE может ошибочно воспринимать такие «зомби» как живые окна. Чтобы избавиться от них, попробуйте найти родительский процесс (Parent PID) и перезапустить его, либо воспользуйтесь перезапуском панели, как было описано выше.

Перезапуск оконного менеджера xfwm4

Если манипуляции с панелью не помогли, выясним причину глубже. Панель получает данные об окнах от оконного менеджера xfwm4. Если менеджер «завис» или некорректно передает дескрипторы окон, панель будет отображать неактуальные данные. Мы можем перезапустить оконный менеджер, не закрывая запущенные программы. Рассмотрим команду:

xfwm4 --replace &

Символ & в конце важен — он позволяет запустить процесс в фоновом режиме, чтобы терминал остался работоспособным. После выполнения этой команды все заголовки окон и тени перерисуются, а связь с панелью задач обновится.

Использование утилиты xkill для визуального удаления

Если окно приложения физически отрисовано на экране, но не реагирует на действия, разберем работу с утилитой xkill. Это «хирургический» метод разрыва связи между графическим сервером X11 и приложением.

  1. Введите в терминале или в строке запуска (Alt+F2) команду xkill.
  2. Курсор мыши превратится в крестик (или череп с костями, в зависимости от темы).
  3. Нажмите левой кнопкой мыши на зависшее окно.

Важно: этот метод убивает графическую связь, что почти всегда приводит к немедленному исчезновению иконки из панели задач.

Очистка кэша сессии при сохранении проблемы после перезагрузки

Рассмотрим ситуацию, когда вы перезагружаете компьютер, но при входе в систему старые «зависшие» окна 1С снова появляются в панели. Это связано с механизмом сохранения сессии XFCE. Система запоминает, какие приложения были открыты, и пытается восстановить их при старте.

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

  1. Закройте все важные документы.
  2. Выполните в терминале команду очистки:

rm -rf ~/.cache/sessions/*

После следующего входа в систему XFCE загрузится с «чистым листом», и фантомные приложения больше не будут вас беспокоить.

Тонкая настройка плагина «Кнопки окон»

Иногда причиной бага является включенная группировка окон в настройках панели. Посмотрим на алгоритм исправления через интерфейс:

  1. Нажмите правой кнопкой мыши на пустом месте в панели задач.
  2. Выберите пункт Панель -> Параметры панели.
  3. Перейдите на вкладку Элементы.
  4. Найдите в списке Кнопки окон и нажмите на значок редактирования (шестеренку).
  5. В поле Группировать окна измените значение (например, с «Всегда» на «Никогда»).
  6. Закройте окно настроек и верните параметр обратно.

Такое переключение заставляет плагин полностью очистить свой внутренний стек ссылок на окна и построить его заново. Это помогает, если проблема носит чисто визуальный характер внутри самой панели xfce4-panel.

Подводя итог, можно сказать, что работа 1С на Linux (особенно на Debian или Ubuntu с оболочкой XFCE) требует от администратора понимания механизмов взаимодействия процессов и графической подсистемы. Сочетание мониторинга процессов через ps и умение перезапускать компоненты оболочки командой xfce4-panel -r позволяет быстро решать подобные затруднения без прерывания работы пользователей сервера.

← На главную