2023-10-29

レイアウトの左上寄せ ~ PySide6

PySide (Qt for Python) は、Qt(キュート)の Python バインディングで、GUI などを構築するためのクロスプラットフォームなライブラリです。配布ライセンスは LGPL で公開されています(商用ライセンスも有り)。最新のバージョンは Qt6 に対応した PySide6(記事執筆時点で 6.6.0)です。

ウィジェットのレイアウトの左上に寄せること、これは簡単なことなのにいつまで経っても覚えらず、期待していた配置にならずにあたふたとしてしまうことのひとつです。そういうおバカな自分のための備忘録です。

他のウィジェットなどの都合でウィンドウのサイズが決まっている時に、なにも考えずに例えば QGridLayout でウィジェットを配置します。すると以下のようになってしまって、どうしたら左上にウィジェットを寄せられるのか考え込んでしまうときがあります。

qt_gridlayout_none.py の実行例
qt_gridlayout_none.py

結局、インターネットで調べて、レイアウトのインスタンスを左上に寄せればよいことを見つけて、ああそうだったと思うことになるのです。

layout.setAlignment(Qt.AlignmentFlag.AlignTop | Qt.AlignmentFlag.AlignLeft)

この一行をレイアウトのインスタンスを定義した後に加えるだけで、全体が左上に寄ります。

qt_gridlayout_top_left.py の実行例
qt_gridlayout_top_left.py

念のため、QVBoxLayout でも確認しました。まずは何も考慮しなかった場合です。

qt_vboxlayout_none.py の実行例
qt_vboxlayout_none.py

QGridLayout の時と同様にレイアウトのインスタンスを定義した後に一行加えます。

qt_vboxlayout_top_left.py の実行例
qt_vboxlayout_top_left.py

知っている人から見れば取るに足らないことだとは思います。しかし、自分は以前、Tcl/Tk でながらく GUI アプリを作ってきたので、その時の挙動との違いが覚えにくさを招いているのかもしれないなと考えています。

参考サイト

  1. python - How do I add widgets to the top left of Pyside Qt layout instead of having the items centered and evenly spaced? - Stack Overflow [2023-03-13]

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ オープンソースへ
にほんブログ村

オープンソース - ブログ村ハッシュタグ
#オープンソース



このエントリーをはてなブックマークに追加

2023-10-22

Windows 風?な Linux デスクトップ

Microsoft Windows のデスクトップは、タブレットでの利用を意識して Windows 8 のリリースで大きく変更 (Modern UI) されました。しかしユーザーの評判が芳しくなかったため短命に終わり、8.1 を経て、次の Windows 10 で「スタートメニュー」を伴った以前のスタイルのデスクトップが復活しました。

Windows 10 Home のデスクトップ画面

デスクトップ PC として四半世紀を越えてデファクトスタンダードとして君臨する Microsoft Windows ですから、当然 Linux のデスクトップ環境にも影響を与えています。

Windows 11 では UI が再設計されて、スタートメニューがアイコンボタンのみになり、デフォルトでタスクバーが画面下中央揃えで配置されるようになりました。しかし従来の Windows のデスクトップ環境のスタイルは依然として Linux など OSS のデスクトップ環境に引き継がれています。それだけ Windows のデスクトップ環境の影響が大きかったのだと言えるでしょう。

ここでは、Microsoft Windows 10 までのデスクトップと操作感が似ている Linux のデスクトップ環境をピックアップして紹介します。

Windows の操作感に似た Linux デスクトップ環境

KDE Plasma

参考サイト [1] によると、KDE は K Desktop Environment というデスクトップ環境の開発プロジェクトとして始まりましたが、その活動が発展し、今やフリーかつオープンなソフトウェアを製作する国際的なチームとなっています。

KDE ソフトウェアは以下のような特徴を持ち、トップクラスの作業環境を生み出しています:

  • 美しく、現代的なデスクトップ
  • 柔軟でカスタマイズ可能なシステムにより、沢山のテキストファイルを編集することなしにアプリケーションをカスタマイズできる
  • ネットワーク透過性により、他のネットワークやコンピュータのファイルに簡単にアクセスできる
  • 数千ものプログラムを提供するソフトウェアエコシステム
  • 60 以上の言語で使用できる

現在リリースされているデスクトップ環境 KDE Plasma 5 は、Qt 5 と KDE Frameworks 5 を使用して構築されています。

KDE neon は、UbuntuLTS リリースをベースに KDE プロジェクトによって開発されている Linux ディストリビューションです。

KDE neon 5.27 (KDE Plasma 5.27.8) のデスクトップ画面

現在、KDE Plasma 6 が 2024 年春のリリースに向けて開発中です

なお KDE Plasma は、主要な Linux ディストロでも利用することができます。

Cinnamon

Cinnamon は、GNOME 3 をベースとしたデスクトップ環境で、2011 年に初版がリリースされました。Cinnamon プロジェクトは、元々 GNOME Shell をフォークすることで、単なるグラフィカルシェルとして開始されましたが、Cinnamon 2.0 で固有のデスクトップ環境となりました。Cinnamon は元々 Linux Mint のために開発されましたが、時が経つにつれ他の Linux ディストリビューションへも広く普及しています。

Cinnamon デスクトップ環境は GNOME とは異なる GUI を実装することを目的としているため、GNOME Core Applications の多くはフォークされて GUI が適切に書き換えられました。

Wikipedia より引用、編集

Linux Mint で利用できるデスクトップ環境には Cinnamon の他に MATE, Xfce がありますが、Cinnamon は Linux Mint のために開発されたデスクトップ環境です。

Linux Mint 21.2 (Cinnamon 5.8.4) のデスクトップ画面

Cinnamon は Linux Mint だけでなく、他の Linux ディストロでも利用できます[2]

Budgie

デスクトップ環境 Budgie /ˈbʌdʒi/ は、Evolve OS という Linux ディストリビューションのデスクトップ環境として開発されました。この Evolve OS の名前が 2015 年 4 月に Solus へ変わってからも引き続きデスクトップ環境として採用されています。

Budgie は GTK 3 のライブラリを利用しており、GNOME との関係も密です。デスクトップの UI は異なるものの、GNOME との共通点が数多くあります。

Solus 4.4 (Budgie 10.8.1) のデスクトップ画面

Budgie は Solus だけでなく、他の Linux ディストロでも利用できます [3]

Solus は日本語入力に難があると思っていましたが、上記バージョンでは ibus-mozc が利用できるようになっていくぶん使いやすくなっていました。ただし、ibus-mozc は自分でインストールする必要があります。

bitwalk@solus-pc ~ $ sudo eopkg install ibus-mozc

Budgie コントロールセンターのキーボードで入力ソースに Mozc を追加します。

Budgie コントロールセンターのキーボードタブ画面

ja/あ の表示がタスクバーなどに表示されないので使い難いのですが、とにかくも日本語入力はできます。

gedit で日本語入力

DDE

Deepin は、Debian の unstable ブランチをベースにした Linux ディストリビューションで、中国に拠点をおく Wuhan Deepin Technology Co., Ltd.(武汉深之度科技有限公司)が開発しています。

Deepin は、Qt で記述された Deeoin Desktop Environment (DDE) と呼ばれる独自のデスクトップ環境を使用しています。

Deepin 20.9 (dde 2022.02.16) のデスクトップ画面

DDE では、アプリケーション一覧の表示を下記のように画面にアイコンで列挙することもできます。

Deepin 20.9 (dde 2022.02.16) のデスクトップ画面 (2)

DDE は Deepin だけでなく、Ubuntu (UbuntuDDE) や、Manjaro、Fedora [4] などでも利用できます。

UKUI

UKUI(Ubuntu Kylin User Interface → Ultimate Kylin User Interface)は、もともと Ubuntu の公式フレーバーの一つである Ubuntu Kylin で動作するように開発されたデスクトップ環境です。UKUI は MATE デスクトップ環境のフォークですが、現在は Qt フレームワークを利用して書かれています。

その視覚的な外観は Windows 7 に似ているので、Linux の新規ユーザにとっては使いやすいデスクトップ環境になっています。

Wikipedia より引用、翻訳・編集

中国が Windows や MacOS といった外国産 OS への依存を減らし、独自の PC 向け OS の開発を推進するために立ち上げたオープンソースコミュニティの Linux ディストロ openKylin [6] のデスクトップ環境にも UKUI が採用されていますが、こちらのディストロは中国語の言語圏向けで、日本語には親切ではないので、ここでは Ubuntu Kylin(优麒麟)をピックアップしました。

Ubuntu Kylin(优麒麟)は中国向けの Ubuntu のせいでしょうか [7]、UKUI の Settings の表示はほとんど日本語表示が無く英語表示ですが、ベースが Ubuntu なだけあって、それ以外のアプリケーションでは日本語メッセージは問題なく翻訳されており、日本語入力もできます。

Ubuntu Kylin 23.10 (UKUI 3.0.1) のデスクトップ画面 (1)

DDE と同様に UKUI でも、アプリケーション一覧の表示をアイコンで列挙することができます。

Ubuntu Kylin 23.10 (UKUI 3.0.1) のデスクトップ画面 (2)

まとめ

Linux をデスクトップ用途で長く利用する場合、そのデスクトップ環境に何を使うかはとても重要です。Windows と異なり Linux ではデスクトップ環境の選択肢がいくつもあります。デスクトップの操作感が Windows に似ていた方が使いやすいのであれば、そういったデスクトップ環境を選択すれば良いのです。

最近の Linux ディストロでは、ISO イメージをダウンロードする時点で、いくつものデスクトップ環境が選択できる場合があります。そうするとどれにするか迷ってしまう場合があるかもしれませんが、本記事の情報がそういうときの Linux ディストロやデスクトップ環境の選択の参考になるかもしれません。

参考サイト

  1. KDEとは - KDE UserBase Wiki
  2. Cinnamon - Wikipedia(採用例)
  3. Budgie - Wikipedia(採用)
  4. SIGs/DeepinDE - Fedora Project Wiki
  5. UKUI enviroment
  6. 中国がWindowsとmacOSへの依存を減らし自家製OSの開発を行うためのオープンソースコミュニティ「openKylin」が登場 - GIGAZINE [2022-07-04]
  7. Chinese government builds national OS around Ubuntu | ZDNET [2013-03-22]

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ オープンソースへ
にほんブログ村

オープンソース - ブログ村ハッシュタグ
#オープンソース



このエントリーをはてなブックマークに追加

2023-10-15

MX Linux の人気

MX Linux は、軽量 Linux ディストロの antiX とかつての MEPIS コミュニティとのベンチャープロジェクトで、各ディストロのベストなツールと才能を活用しています。エレガントで効率的なデスクトップと、シンプルな構成、高い安定性、安定したパフォーマンスで中規模のインストール容量になるように設計された中量級 OS です。Debian stable(安定板)をベースとしています。

MX Linux は、DistroWatch.com の Page Hit Ranking で長い間1位をキープし続けています。その魅力とはいったい何なのか、説得力ある理由を見つけられるかどうか判りませんが、インターネット上で出回っている評判を集めてみました。

MX-23 のデスクトップ画面 (Xfce)

PC-FREEDOM の考察

まずは、PC-FREEDOM を運営されている「コダシマ☆タカヒデ」さんの考察から。

コダシマさんは、「ちょうどよい Linux 感」と結論づけています。

MX Linux の設定用に開発された MX ツールに含まれるソフトウェア群は、いずれも「ちょうどよい Linux 感」にあふれるものだと、氏は述べています。

MX ツール

「ちょうどよい Linux 感」の例として、MX ツールにある MX パッケージインストーラーを挙げています。

MX Linux では、インストール時にロケールを日本語に設定しても、インストール直後は日本語入力のインプットメソッドが利用できないため、MX パッケージインストーラで必要なパッケージをインストールするというひと手間が必要になります。

MX パッケージインストーラ

このひと手間、すなわち Linux 臭さが残っているが故に、注目度が高いのだと、氏は言われています。

Reddit の掲示板より

次に、海外ではどんなことを言われているのでしょうか?

Reddit の掲示板で以下のような投稿を見つけたので斜め読みしてみました。

最初の回答(frc-vfco 氏)に次のような説明がありました。

Debian has been always near the top, mainly 2015-2016, and MX Linux is a somehow "easier Debian". Also, it aims to fit a "lower / older hardware" niche, for people in poor regions all around the world. So, we don't see so much talk about it, in our countries, but it is present in sites, blogs, forum's talk in other countries and languages.

【参考訳】

Debian は、主に 2015 年から 2016 年にかけて、常にトップに近い位置を占めていましたが、MX Linux は、いわば「より簡単な Debian」と言えます。また、世界中の貧しい地域の人々のために、「より安価な/古いハードウェア」のような特定分野にもフィットすることを目指しています。そのため、私たちの国ではあまり話題になりませんが、他の国や言語のサイト、ブログ、フォーラムでは話題になっています。

また、世界中の貧しい地域の人々のために、…の文脈がどこに掛かるのかよく判りませんでしたが、MX Linux が特別にそういったミッションを掲げているわけではなさそうです。ただ、他の回答の中にも、古い PC でもインストールできることを挙げている人が何人かいます。

"easier Debian"(より簡単な Debian)については、他の回答者からも同様な意見が出ていました。何が簡単かというと、OS のインストールです。まあ、これは同感です。

MX Linux は Debian stable のパッケージを利用していますので、デスクトップやツールなどカスタマイズされている部分を除けば、ほぼ Debian と同じと考えることができます。

MX Linux のパッケージリポジトリ
bitwalk@mx:~
$ ls /etc/apt/sources.list.d
debian-stable-updates.list  debian.list  mx.list
bitwalk@mx:~
$ cat /etc/apt/sources.list.d/debian.list
# Debian Stable.
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
#deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware

#debian backports
#deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware
bitwalk@mx:~
$ 

さて、そのインストールですが、Debian のインストールは結構大変です。難しい、というより冗長なのです。ま、そのぶん、細かい設定ができるので自由度が高いとも言えます。

下記に、Debian と MX Linux のインストール画面を列挙して比較してみました。使用したインストールパッケージは Debian は debian-12.2.0-amd64-netinst.iso、MX Linux は MX-23_x64.iso です。

Debian 12 のインストール

 

あらためて Debian のインストールのスクリーンショットを取って並べて見ましたが、確かに冗長であるものの、このぐらいは許容範囲なのかもしれないと感じました。

※ おおむかし、自分が Linux を最初にインストールしたのは Slackware だったので、それに比べれば、今の Debian のインストーラはずいぶんと親切だとは思います。😅

MX-23 のインストール

 

上記、MX Linux のインストールのスクリーンショットは、キーボードレイアウトの設定のところで3枚もとってしまってはいますが、全体的にシンプルなインストールの流れです。デフォルトの設定のままで良ければ、設定しなければならない箇所は、キーボードのレイアウト、ロケール(言語)と時刻、アカウントの設定ぐらいです。

ZDNet の記事

IT 関連ニュースなどのサイト ZDNet で、MX Linux の人気について扱った記事がありました。

筆者の Jack Wallen 氏は、MX Linux の魅力を次のように語っています。

One aspect of MX Linux that appeals to me is that the flagship version (Xfce) looks and feels like old-school Linux but with just enough modernity to make it a viable option for today's users.

【参考訳】

MX Linux の魅力のひとつは、フラッグシップ・バージョン(Xfce)が昔ながらの Linux のようなルック&フィールでありながら、いまどきのユーザーにとって十分な現代的センスを備えていることだ。

old-school とは肯定的なニュアンスでは「昔ながら」とか「懐かしい」あるいは「伝統的スタイルの」という意味になりますが、昔ながらの Linux とは、コダシマさんが言われる「ちょうどよい Linux 感」と通じる部分があるのかもしれません。

氏は、MX Linux のユーザーマニュアルと FAQ がデスクトップにアイコンで表示されていることも特徴として挙げています。ロケールを日本語にすると、日本語版のマニュアルと FAQ を利用できるようになっているのはちょっとビックリです。コミュニティの力はすごいですね。

MX Linux ユーザーマニュアル

氏は、MX Linux の欠点は Debian stable をベースにしていることだと述べています。そして、インストールされているソフトウェアは、時代遅れではないが、どう考えても最新・最高のリリースではないことは確かだと言っています。

Linux 好きで最新の動向が気になる人達にとっては、最新のパッケージに触れることをディストロに期待するのでしょうが、大多数のユーザーにとって安定して手軽に使えることの方がずっと大切なのかもしれません。意外とエキスパートが考える欠点は、多くの人にとって長所だったりもします。

まとめ

なんとなく Red Hat Enterprise LinuxUbuntu のような企業色を避ける個人が、企業色のない Debian を利用したいけれど、インストールがちょっと面倒だ。その結果、簡単にインストールでき、しかも安定して利用できる Debian 派生でコミュニティベースのディストロが MX Linux になるのかもしれない、そう考えました。しかし、他にも Debian 派生のディストロはたくさんあるだろうと、念のため Wikipedia で調べました。

Debian から派生した Linux ディストロ

Debian stable をベースにした、癖のなさそうな汎用ディストロというと、デスクトップ環境はカスタマイズされていると言っても、やはり MX Linux になってしまうのでしょうか。インストールも簡単ですし…。

Arch LinuxManjaro との関係に似ているのかもしれませんが、リポジトリは別ですし、Manjaro は結構新しいパッケージを利用できます。

Linux のユーザーの大多数は新しい機能やパッケージを追い求めているわけではない、ということは容易に想像がつくのですが、それでも残念ながら、その1位である説得力ある理由を見つけられたとは言えません。カスタマイズの容易さなどは、少し使い込まないと判りませんし、どのぐらいコミュニティが活発なのかもひきつづき調べていきたいと思います。

参考サイト

  1. MX Linux – Midweight Simple Stable Desktop OS
  2. Poor countries saving money by using Linux | InfoWorld [2013-07-29]

 

※ インストール前のライブ OS 上で、ロケールを日本語にしておけば、インストーラのメッセージが日本語になるということを知りました。

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ オープンソースへ
にほんブログ村

オープンソース - ブログ村ハッシュタグ
#オープンソース



このエントリーをはてなブックマークに追加