シンクライアントシステムのSKYDIV Desktop Client(以降、SKYDIVと記述します)は、「VDI方式」「SBC(RDS)方式」「仮想ブラウザ方式(Linux)」の3つの仮想化方式に対応しています。
この記事では、以前紹介した 「仮想ブラウザ方式(Linux)」 と「Linux版ランチャー」で使用されているUI表示の技術や開発ツールについて紹介していきます。
GTKについて
「仮想ブラウザ方式(Linux)」と「Linux版ランチャー」ではUI表示にGTKを使用して実現しています。
GTKとは主にLinux環境で用いられている、GUIを作成するためのクロスプラットフォームのツールキットです。
C言語で書かれていますが、C++やPythonなど、他の言語からも利用することが可能です。
クロスプラットフォームに対応しており、オープンソースのソフトウェアとなっているため、コストを抑えつつ柔軟な開発が可能です。
SKYDIVの「仮想ブラウザ方式(Linux)」では画面上に表示される通知メッセージに使用しており、「Linux版ランチャー」ではアプリケーションのGUIに使用しています。
SKYDIVはLinuxディストリビューションとしてUbuntuに対応しています。
Ubuntuでは標準デスクトップとしてGNOMEが使用されています。
GNOMEはGTKで作成されており、SKYDIVとしてもテーマとの統一感を持たせるためにGTKを採用しています。
次の画像はGTKを使用したLinux版ランチャーの画面イメージです。
開発方法 / デバッグについて
UI開発において下記のツールや機能が主に使用されます。
Microsoft Visual Studio
主にWindowsプラットフォームにおいて使用されている統合開発環境です。
ターゲットとなるLinux環境でGDBを実行することでVisual Studioからリモートデバッグが可能です。
SKYDIVはWindowsアプリケーションがメインとなっておりますが、慣れないLinux環境でも効率良く開発できるようにしています。
GtkInspector
GtkInspectorは、GTKアプリケーションのデバッグとプロファイリングを行うためのツールです。
ウィジェットのプロパティやシグナルをリアルタイムで確認できます。
実行すると下記のような画面が表示され、GTKアプリケーションのプロパティ値の確認や変更、CSSの値の確認など、様々なパラメーターを確認することができます。
GtkBuilder
GtkBuilderは、UI定義ファイル(XML形式)を読み込み、ウィジェットを生成するためのGTKの機能です。
これにより、コード内でUIを構築する必要がなくなり、UIの変更が容易になります。
Gladeなどのツールを使用してXML形式でUIファイルを出力し、配置して動的に構築することができます。
GDB
GDBは、Linuxのデバッグに使用される標準的なデバッガです。
プログラムのステップ実行したり、ブレークポイントを設定したり、変数の値を確認したり、コアダンプの解析をすることができます。
Valgrind
Valgrindは、メモリ管理やパフォーマンスの問題を検出するためのツールです。
アプリケーションのメモリ使用状況を監視し、メモリリークや未初期化メモリの使用などの問題を特定するのに役立ちます。
まとめ
今回はSKYDIVで使用しているUI表示の技術や開発ツールについてご紹介しました。
Linuxには様々なフレームワークやツールが存在するため、目的や用途に合わせてご活用いただければと思います。