Как отладить пользовательское действие Thunar

Вопрос или проблема

Некоторое пользовательское действие Thunar, которое, как я думал, будет работать (а именно, открытие нескольких папок с помощью Sublime Text), не работает.

Тем не менее, понять, что пошло не так, довольно сложно, так как нет никакого вывода, даже в терминале.

Что я могу сделать, чтобы получить информацию о некорректном пользовательском действии Thunar?

Я знаю, что опоздал, но я только что столкнулся с этой проблемой. Чтобы увидеть вывод команды, вы можете направить его в zenity вот так:

command | zenity --text-info

Если вы хотите увидеть ошибки, вы можете перенаправить stderr на stdout так:

command 2>&1 | zenity --text-info

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

command1 | xargs --verbose sh -c '...'

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

sh -c '...'

Ответ или решение

Отладка настраиваемых действий в Thunar может быть сложной задачей, особенно если возникает ситуация, когда команда, предполагавшаяся к выполнению, например, открытие нескольких папок в Sublime Text, не работает должным образом. Трудность заключается в отсутствии видимого вывода при возникновении ошибки, даже если Thunar запущен из командной строки. Для решения этой проблемы можно применить несколько методик для отладки и получения необходимой информации.

Теория

Thunar — это файловый менеджер для Xfce, позволяющий пользователям настраивать собственные действия, которые могут быть выполнены над файлами или папками. Такие действия представляют собой команды или скрипты, заданные пользователем, которые вызываются в различных контекстах. Однако, если такие команды не выполняются как ожидалось, отладка может превратиться в серьёзную проблему из-за отсутствия встроенных средств логирования и диагностики.

Пример

Предположим, что вы настроили действие в Thunar, чтобы открыть несколько папок в текстовом редакторе Sublime Text, и это не работает. Выбрасывание или подавление ошибок может затруднять поиск источника проблемы.

В подобных случаях, Zenity, инструмент для создания графических диалогов в скриптах, может помочь. Простейшей идеей является передача вывода команды в Zenity для отображения информации об ошибке в графическом диалоговом окне, что может дать первоначальные подсказки о том, что пошло не так:

your-command | zenity --text-info

Если необходимо видеть ошибки, можно перенаправить их на стандартный вывод (stderr в stdout).

your-command 2>&1 | zenity --text-info

Применение

  1. Использование терминала для запуска Thunar: Вы можете запустить Thunar из терминала перед выполнением действия, чтобы видеть вывод ваших команд. Это один из наиболее прямых способов отладки. Например:
thunar &

После этого, когда вы выполните свое настраиваемое действие, вы сможете видеть любой вывод или ошибки вашего скрипта в терминальном окне.

  1. Включение отладочных выводов в команде: Многие команды могут принимать специальные флаги для вывода дополнительной информации для отладки. Например, если вы вызываете скрипт, вы можете добавлять такие ключи, как -v для вывода информации о происходящем процессе.

  2. Ловите конкретные ошибки: Проанализируйте конкретные команды, которые вы пытаетесь выполнить. Возможно, команда не удается из-за неправильной интерпретации аргументов, путей, проблем с доступами или ожиданий других внешних ресурсов.

  3. Запуск Zenity как флаг для ошибок: Если у команды подразумевается вывод ошибок или других сообщений, перенаправьте их в Zenity, чтобы на момент выполнения действия видеть, что произошло:

your-command 2>&1 | zenity --text-info

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

  1. Анализирование логов системы: В зависимости от системы, посмотрите системные логи, используя такие инструменты, как journalctl на системах, поддерживающих systemd, или dmesg — это может помочь найти системные ошибки, которые могут влиять на выполнение настраиваемых действий.

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

Поддержка таких инструментов, как Zenity, делает процесс отладки более доступным, помогая определить причину неисправности и предпринять необходимые шаги для исправления конфигурации или самой команды. По мере совершенствования действий, возможно, потребуется пересмотреть саму настройку в Thunar, чтобы оптимизировать её выполнение и избежать подобных проблем в будущем.

Оцените материал
Добавить комментарий

Капча загружается...