Ответ 1
Да, консоль реального времени называется "Look Glass" и может быть запущена нажатием Alt + F2 и набрав lg
в приглашении.
Дополнительная информация: https://live.gnome.org/GnomeShell/LookingGlass
Я хотел бы разработать расширения GNOME Shell и нашел, что очень легко вступить в процесс разработки, но я до сих пор не могу понять, как эффективно отлаживать/тестировать мои расширения.
Есть ли какие-либо инструменты для этой цели? Есть ли какая-нибудь консоль реального времени, как у современных браузеров или серверов javascript?
Да, консоль реального времени называется "Look Glass" и может быть запущена нажатием Alt + F2 и набрав lg
в приглашении.
Дополнительная информация: https://live.gnome.org/GnomeShell/LookingGlass
В Fedora 20 (и, возможно, в любом новом дистрибутиве linux) вы можете использовать эту команду:
journalctl /usr/bin/gnome-session -f -o cat
Он постоянно (-f
) печатает ошибки, сгенерированные gnome-session в окне терминала. Я предпочитаю флаг -o cat
, поскольку он показывает полные сообщения без временных табло.
На Fedora 22, я считаю, он был заменен на:
journalctl /usr/bin/gnome-shell -f -o cat
Зазеркалье отлично. Если вам нужна прямая консоль, вы можете получить ее, но не через LG, по крайней мере, не 3,6.
Если вы открываете терминал и набираете gnome-shell --replace
, из него будет запускаться gnome-shell, вместо этого будет заменен исполняемый экземпляр, а затем будет выводиться глобальный журнал.
Вы можете проверить его с помощью Glass Glass, выполнив Alt - F2 lg
, а затем global.log("foo")
на вкладке "Оценщик".
Я предпочитаю читать файлы ~/.xsession-errors
и ~/.cache/gdm/session.log
для более подробной информации. Некоторые сообщения об ошибках могут иметь отношение к другим исключениям или ошибкам.
Я еще не могу комментировать другие ответы, поэтому подумал, что добавлю - как бы это ни было поздно:
Для комментария 2 ответа Джеффа просто перезапустите оболочку через alt+f2
- then r
и enter
, когда это произойдет - сеанс терминального сеанса завершится автоматически (по крайней мере, на Debian).
Я бы рекомендовал jsnjack answer для общей отладки, которая также работает с Debian Jessy; вероятно, хотите sudo
, хотя. Он будет показывать ошибки gnome, а также сообщения global.log() в любом терминале, в котором вы его запустили.
Если что-то, это дает более полную ссылку для меня - поскольку я сталкивался с этой страницей более одного раза, ссылаясь на информацию, которую я не сохраняю в своей памяти.
Anjuta Dev-Studio - отличный инструмент для работы с расширениями gnome-shell; он оснащен отладчиком, дизайнером GUI, контролем версий и т.д. Там даже руководство по использованию Anjuta с проектами расширения gnome-shell над gnome wiki-pages
Другие ответы на самом деле не работали для меня при разработке моего собственного расширения. Что же было:
journalctl /usr/lib/gnome-session/gnome-session-binary -f -o cat
Если вы хотите объявить вывод только для своего приложения, вы можете использовать:
journalctl /usr/lib/gnome-session/gnome-session-binary -f -o cat | grep [myAppId]
Если вы также хотите получить доступ к журналам с ошибками, используя вышеуказанный метод выше, вы можете использовать:
global.log('[myAppId]', valueToLog);
Если вы не знаете правильный путь к сеансу gnome, вы также можете использовать:
journalctl -f | grep gnome-session
Почему он не работает, вероятно, из-за моего двоичного пути, связанного с gnome-session, был другим, что может быть связано с установкой более новой версии gnome.
Мы разрабатываем пакет emacs, предназначенный для расширения расширения gnome-shell здесь: https://github.com/paperwm/gnome-shell-mode
Он все еще находится в "бета" (dec. 2017), но его уже очень полезно.
Функции