GNOME Shell拡張機能を開発したいのですが、開発プロセスに足を踏み入れるのは本当に簡単だとわかりましたが、拡張機能を効果的にデバッグ/テストする方法がわかりません。
そのためのツールはありますか?最新のブラウザやJavaScriptサーバー環境にあるようなリアルタイムコンソールはありますか?
はい、リアルタイムコンソールは「Looking Glass」と呼ばれ、押すと起動できます Alt+F2 プロンプトでlg
と入力します。
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
Look Glassはすばらしいです。ただし、ストレートコンソールが必要な場合は、LG経由ではなく、少なくとも3.6の時点で入手できます。
端末をポップして__gnome-Shell --replace
_と入力すると、そこからgnome-Shellが実行され、実行中のインスタンスが置き換えられ、その後グローバルコンソールにログ出力が表示されます。
あなたはLooking Glassでそれをテストすることができます Alt-F2 「評価者」タブのlg
、およびthenglobal.log("foo")
。
~/.xsession-errors
および~/.cache/gdm/session.log
ファイルの詳細。一部のエラーメッセージは、他の例外またはエラーと関連している場合があります。
私はまだ他の答えにコメントすることができませんので、私は追加したいと思いました-しかし、それが遅くても:
Geoffの回答のコメント2については、alt+f2
-r
とenter
、その場合-ターミナル実行セッションは自動的に終了します(少なくともDebianでは)。
一般的なデバッグにはjsnjackの回答をお勧めします。これはDebian Jessyでも動作します。おそらくSudo
にしたいでしょう。 gnomeエラーと、どの端末で実行した場合でもglobal.log()メッセージが表示されます。
どちらかといえば、これは私にとってより完全なリファレンスを提供します-情報を参照するときにこのページに何度も出くわしたので、記憶を新鮮に保ちません。
Anjuta Dev-Studioは、gnome-Shell拡張機能を操作するための優れたツールです。デバッガ、GUIデザイナー、バージョン管理などが装備されています。 Anjutaをgnomeの wiki-pages 上のgnome-Shell拡張プロジェクトで使用するためのガイド付きチュートリアルもあります。
私自身の拡張機能を開発している間、他の答えは本当にうまくいきませんでした。ただし、次のようになりました。
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-binaryパスが異なっていたためで、これはインストールされているgnomeの新しいバージョンに関連している可能性があります。
ここでは、gnome-Shell拡張機能の開発を目的としたemacsパッケージを開発しています: https://github.com/paperwm/gnome-Shell-mode
まだ「ベータ版」(2017年12月)ですが、すでに非常に便利です。
機能