webdevqa.jp.net

GNOME Shell拡張機能をテスト/デバッグする方法は?そのためのツールはありますか?

GNOME Shell拡張機能を開発したいのですが、開発プロセスに足を踏み入れるのは本当に簡単だとわかりましたが、拡張機能を効果的にデバッグ/テストする方法がわかりません。

そのためのツールはありますか?最新のブラウザやJavaScriptサーバー環境にあるようなリアルタイムコンソールはありますか?

59
marcio

はい、リアルタイムコンソールは「Looking Glass」と呼ばれ、押すと起動できます Alt+F2 プロンプトでlgと入力します。

詳細: https://live.gnome.org/GnomeShell/LookingGlass

59
ptomato

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
37
jsnjack

Look Glassはすばらしいです。ただし、ストレートコンソールが必要な場合は、LG経由ではなく、少なくとも3.6の時点で入手できます。

端末をポップして__gnome-Shell --replace_と入力すると、そこからgnome-Shellが実行され、実行中のインスタンスが置き換えられ、その後グローバルコンソールにログ出力が表示されます。

あなたはLooking Glassでそれをテストすることができます Alt-F2 「評価者」タブのlg、およびthenglobal.log("foo")

20
Geoff

~/.xsession-errorsおよび~/.cache/gdm/session.logファイルの詳細。一部のエラーメッセージは、他の例外またはエラーと関連している場合があります。

7

私はまだ他の答えにコメントすることができませんので、私は追加したいと思いました-しかし、それが遅くても:

  • Geoffの回答のコメント2については、alt+f2-renter、その場合-ターミナル実行セッションは自動的に終了します(少なくともDebianでは)。

  • 一般的なデバッグにはjsnjackの回答をお勧めします。これはDebian Jessyでも動作します。おそらくSudoにしたいでしょう。 gnomeエラーと、どの端末で実行した場合でもglobal.log()メッセージが表示されます。

どちらかといえば、これは私にとってより完全なリファレンスを提供します-情報を参照するときにこのページに何度も出くわしたので、記憶を新鮮に保ちません。

3
Rik

Anjuta Dev-Studioは、gnome-Shell拡張機能を操作するための優れたツールです。デバッガ、GUIデザイナー、バージョン管理などが装備されています。 Anjutaをgnomeの wiki-pages 上のgnome-Shell拡張プロジェクトで使用するためのガイド付きチュートリアルもあります。

2
ILMostro_7

私自身の拡張機能を開発している間、他の答えは本当にうまくいきませんでした。ただし、次のようになりました。

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の新しいバージョンに関連している可能性があります。

2

ここでは、gnome-Shell拡張機能の開発を目的としたemacsパッケージを開発しています: https://github.com/paperwm/gnome-Shell-mode

まだ「ベータ版」(2017年12月)ですが、すでに非常に便利です。

機能

  • オートコンプリート(見かけのガラスが提供するものよりもはるかに優れています)
  • 行の評価、選択、現在の関数、バッファ(オプションでコメントの結果をバッファに貼り付ける)
  • 評価時のエラーのハイライト
  • ドキュメント検索ヘルパー
  • Gnome-Shellを再起動せずに作業中のモジュールをリロードするヘルパー
1
olejorgenb