バックアップツールの改良
「Linux Mint 18.3」に向け、バックアップツールの改良が行われています。バックアップツールはほぼ全体が作り直され、機能やUIの見直しが行われました。
結果、使いやすさや分かりやすさの点で改良が行われました。
rootになる必要なし
今までバックアップツールはrootで起動しており、ユーザーはバックアップツールの起動時に認証(パスワード入力)を行う必要がありました。しかしrootで起動する必要がなくなり、バックアップツールの起動時に認証(パスワード入力)を行う必要がなくなりました。
バックアップ操作を分かりやすく
バックアップ実行時、ソースやバックアップの種類の選択など様々なオプションの選択を行えていましたが、これらのオプションが簡略化され、分かりやすいUIになりました。ホームフォルダーのバックアップに最適化
バックアップツールはユーザーのホームフォルダーのバックアップに最適化され、ホームフォルダーのバックアップに最適な機能を提供するようになりました。ユーザーのホームフォルダーとは、(~/)のことです。
バックアップ作成時、すべてのファイルはtarアーカイブに保存されます。
またバックアップの復元時には、バックアップ作成時と同じ場所にファイルが復元され、アクセス権(パーミッション)やタイムスタンプもバックアップ作成時と同じ状態で復元されます。
バックアップから除外するファイルの指定
オプションが簡略化されたと言っても、バックアップから除外するファイルやフォルダーの指定は可能です。デフォルトでは、隠しファイルや隠しフォルダー(.で始まる名称を持つファイルやフォルダー)は、バックアップから除外されます。
しかしユーザーが設定を変更すれば、隠しファイルや隠しフォルダーをバックアップに含めることも可能です。
ユーザーが指定した除外設定は記録され、次回バックアップ時にも除外設定が反映されます。
これは日常的に簡単にバックアップを行えるようにするためです。
ソフトウェアセレクションのバックアップも分かりやすく
ソフトウェアセレクションのバックアップも以前より簡略化されました。今まではバックアップ対象のソフトウェアをパッケージで選択していました。
そのためユーザーがバックアップ対象を選択する際、数千を超えるパッケージ群の中からバックアップ対象を選択する必要がありました。
この点が大きく改良され、「ソフトウェアの管理」からインストールされたパッケージからバックアップ対象を選択するようになりました。
つまりユーザーから見れば、今までよりも分かりやすくアプリのバックアップを行えるようになります。
その他の改良
コード量の削減やリファクタリングが行われ、よりモダンなコードになりました。これはパフォーマンスや安定性、及び保守性の向上につながります。
特にデータの圧縮やマルチスレッディングよる処理が改良されています。
加えて「ソフトウェアの管理」同様、APTのバックエンドがAptdaemonに変わりました。
ウィンドウリストにアプリの進捗状況を表示
多くのアプリは処理に長い時間がかかる場合、プログレスバーを表示してユーザーに処理の進捗状況を表示します。この間ユーザーは処理が終わるのをただじっと待つのではなく、Webブラウジングなど別の作業を行うでしょう。
ユーザーが他の作業を行っている間、処理中のアプリのウィンドウは他のアプリのウィンドウの下に配置されたり、あるいは最小化されているかもしれません。
この状況でユーザーは、アプリの進捗状況を把握することができず、処理が完了したのかアプリの進捗状況を確認するには、そのアプリのウィンドウを前面に表示する必要があります。
これはユーザービリティーの面であまり好ましい状況ではありません。
一部のアプリの対応
「USB Stick formatter」や「Nemo」など一部のアプリでは、この状況を改善するためアプリの進捗状況をウィンドウのタイトルバーに表示しています。こうすることで、ウィンドウリストなどデスクトップに配置されているランチャーにアプリの進捗状況が文字で表示されるようになります。
しかし文字での表示であるため、プログレスバーのような見た目の分かりやすさに欠けます。
Windowsでは
Windowsでは、アプリの進捗状況をタスクバーに表示する機能があります。この機能は上記の問題を解決する優れた機能です。
LibXappに仕組みを導入
そこで上記の機能を「LibXApp」に導入しました。「LibXApp」は多くのディストリビューションで利用可能なCライブラリーです。
「GIRepository」を経由することで、多くのプログラミング言語との動的なバインディングを提供します。
例えば「Python」では、以下のように実装できます。
import gi gi.require_version('Gtk', '3.0') gi.require_version('XApp', '1.0') from gi.repository import Gtk, XApp window = Gtk.Window() window.set_title("My Window") window.show() XApp.set_window_progress(window, 50) XApp.set_window_icon_name(window, "info") window.connect("destroy", Gtk.main_quit) Gtk.main()
この機能を利用することでWindows Managerと連携し、ウィンドウリストのようなアプリのウィンドウを表示する領域にアプリの進捗状況を表示できるようになります。
上記の実装では、「XApp.set_window_progress(window, 50)」を呼ぶことで、50%の進捗状況を表示しています。
Cinnamon 3.6では
「Cinnamon 3.6」では、アプリの進捗状況がウィンドウリストに表示されます。見た目は以下のようになります。
XApp.GtkWindowも利用可能
この仕組みを簡単に利用できる「XApp.GtkWindow」も提供されます。これは「Gtk.Window」から派生した「GtkWindow」であり、以下のように実装することが可能です。
import gi gi.require_version('Gtk', '3.0') gi.require_version('XApp', '1.0') from gi.repository import Gtk, XApp window = XApp.GtkWindow() window.set_title("My Window") window.show() window.set_progress(50) window.set_icon_name("info") window.connect("destroy", Gtk.main_quit) Gtk.main()
Linux Mint 18.3に導入される
この仕組みは「Linux Mint 18.3」に導入されます。現状は「Cinnamon」でこの機能がサポートされ、以下のアプリで実装が行われました。
- Nemo(ファイルマネージャー)
- バックアップツール
- ソフトウェアの管理
- ドライバーマネージャー
- USBメモリーフォーマッター
- USBイメージライター
将来的に「MATE」でのサポートも検討されており、以下のアプリでの実装も検討されています。
- Caja
- Synaptic
- アップデートマネージャー
- 言語設定
- ソフトウェアソース
- アプリケーションの削除
- などパッケージ操作を行うアプリ
その他Linux Mint 18.3での改善点
他にも「Linux Mint 18.3」では、以下の改善が行われます。ネットワークアプレットの改善
「Cinnamon」ではネットワークアプレットの改善が行われ、無線ネットワークの再スキャンが可能になりました。デフォルトでインストールするアプリの変更
「ドメインブロッカー」及び「アップロードマネージャー」がデフォルトのインストールから外されました。「Linux Mint 18.3」ではこれらのアプリはデフォルトでインストールされなくなります。
これらのアプリを必要とするユーザーは、後から自分でインストールすることが可能です。