2022-08-31

画面のキャプチャを撮る方法

おっ😮、これは知らなかったよ。スクリーンショットを撮るキーは PrtSc だけかと思っていました。Linux をメインに使っているからというのは言い訳にしかならず、まだまだ未熟者なのです。在宅勤務中だったので、さっそく会社のノート PC で確認しました。

参考サイト

  1. Windows 10 スクリーンショットを撮る4つの方法 | パソコン工房 NEXMAG

 

スクリーンショットを撮る方法はいろいろあるということをあらためて知りました。

 

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



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

2022-08-30

ページレイアウト (PageLayout) 〜 Kivy

Kivy は、NUI (Natural User Interface) を持つモバイルアプリやその他のマルチタッチアプリケーションソフトウェアを開発するためのフリーでオープンソースの Python フレームワークです。MIT ライセンスのもとで配布され、Android, iOS, Linux, macOS そして Windows で動作させることができます。

Wikipedia より引用、翻訳、編集

使ったことのなかった Python の GUI ライブラリ(フレームワーク)、Kivy に興味を持ったので [1]、ひととおりウィジェットのサンプルを作ってみようとしています。サンプルを作っていくにあたって、どんなスタイルでコーディングするか、テンプレートみたいなものを固めていこうとあれこれ試し始めました。

今回はページレイアウトのサンプルを紹介します。

Python のコードのみのサンプルと、UI 部分を分離して Kv 言語で記述した同じ動作をするサンプルを併せて紹介しています。

下記の環境で動作確認をしています。

Fedora Linux 36 x86_64
python3 3.10.6-1.fc36.x86_64
Kivy 2.1.0

PageLayout (Python)

PageLayout は、シンプルな複数ページのレイアウトを重ねて配置するために使用されます。端にのぞいているページの一部をスライドすることでページをめくることができます。

正面に表示されているページをクリックあるいはスワイプしてページをめくるのではないので注意が必要です。

kivy_pagelayout.py

下記の画像を表示用に使用しました。

image_1.jpg
image_2.jpg
image_3.jpg
kivy_pagelayout.py の実行例

PageLayout (Python + Kv)

指定したファイルを読み込むようにしたかったので、ここでは Builder.load_file() を使って、指定したファイルを読み込むようにしています。

kivy_pagelayout_1.py
kivy_pagelayout_1.kv
kivy_pagelayout_1.py の実行例

参考サイト

  1. bitWalk's: Kivy をちょろっと使ってみた [2022-07-10]
  2. Kv language — Kivy 2.1.0 documentation
  3. Widgets — Kivy 2.1.0 documentation
  4. PageLayout — Kivy 2.1.0 documentation

 

 

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



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

2022-08-25

GitHub Actions で Puppy Linux をビルドしてみた

woof-CE は、Puppy Linux ディストロをゼロから自動的にビルドするビルドスクリプトのコレクションです。これを使いこなせれば、自分専用にカスタマイズした Puppy Linux をビルドできるかもしれないと以前から興味があったのですが、なかなか使ってみる機会がありませんでした。

GitHub にある Woof-CE のプロジェクトサイト [1] を読んでみると、Puppy Linux は GitHub 上で直接ビルドできるため、十分なストレージを持つ高速なマシンといったビルド環境を準備する手間を省けると書いてあります。これは試しておくべきだと思いビルドしてみました。

必要なもの

GitHub のアカウントが必要です。

GitHub Actions による Puppy Linux のビルド

GitHub Actions については、例えば、参考サイト [2]、その他の解説サイトを探してご覧になってください。

ここでは、GitHub Actions を利用して Puppy Linux をビルド、ビルドされた iso イメージをダウンロードするまでの流れをまとめました。

Woof-CE のフォーク

まず、woof-CE のプロジェクトサイト [1] へアクセスし、プロジェクトのリポジトリをフォークします。

確認の画面が表示されますので、下図、緑の Create fork をクリックしてフォークします。

自分のアカウントに woof-CE がフォークされますので、Actions のタブをクリックします。

Actions

Actions では、workflow(ワークフロー)に従って、Puppy Linux を自動的にビルドすることができます。

フォーク直後は、この機能が無効になっていますので、緑の I understand my workflows, go ahead and enable them. をクリックして機能を有効にします。

左側にワークフローが3つ表示されます。そのうち Release を選択して、右側の Run workflow ▾ をクリックします。

すると、Puppy Linux をビルドするための設定項目が表示されます。ここでは何も変えずに下の Run workflow をクリックしてビルドしてみます。

Puppy Linux のビルドが始まります。

ビルドが完了するまで気長に待ちます。

システムの状況でビルドにかかる時間が左右されますが、この例では完了までに1時間半以上かかりました。何回か試してみたところ、40 分程度でビルドできた場合もありました。

iso ファイルのダウンロード

Code のタブをクリックして画面を変更して、右下の Create a new release をクリックします。

Tags タブをクリックします。

Releases をクリックして元のタブ画面を表示します。

すると、ビルドしたファイルが Asset として表示されています。slacko64-8.0.iso をクリックしてダウンロードします。

仮想マシンで動作確認

iso ファイルをダウンロードしたあと、GNOME Boxes の仮想マシンで動作確認してみました。

Puppy Linux のデスクトップ画面が表示されましたが、なぜかカーソルの位置制御がズレていてうまく操作できませんでした。この仮想マシン固有の問題かもしれません。

ビルドした Puppy Linux のデスクトップ画面

まとめ

今回は woof-CE をどう使うか、ではなく、単に GitHub Actions の機能を利用してビルドしてみただけです。しかし、自分のシステムを使わずとも手軽に Puppy Linux をビルドできることを確認できました。

あとは woof-CE の使い方をおぼえれば、カスタマイズした自分だけの Puppy Linux をビルドすることができるかもしれません。自分でカスタマイズしてビルドした Puppy Linux を USB メモリで持ち歩く。なんだか、あらたな Linux の愉しみ方ができそうです。ま、そのためには woof-CE の使い方をマスターしなければなりませんが…。

ちなみに、今回利用した GitHub Actions のワークフローは、フォークしたリポジトリの woof-CE/.github/workflows/ 内に、YAML 形式のファイルで格納されています。

参考サイト

  1. puppylinux-woof-CE/woof-CE: woof - the Puppy builder
  2. GitHubの新機能「GitHub Actions」で試すCI/CD | さくらのナレッジ [2020-02-04]

 

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



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

2022-08-21

待ち遠しい KDE Plasma 6

KDE は、X Window System 上で動作するデスクトップ環境およびその環境用の各種アプリケーション、また、その開発プロジェクトを指すこともあります。ツールキットには Qt を採用しています。デスクトップ環境の他、ウェブブラウジングやファイル操作、マルチメディアの再生、オフィス作業など多くの用途のための数多くのアプリケーションプログラムも開発・提供しています。

Wipipedia より引用・編集

自分の業務で扱うプログラミングは、モックアップ的な用途が多く、データ解析でも機械学習でもなんでも、どんなものを作りたいかを視覚化して「見せる」必要があります。そのため、他人から GUI プログラミングは古くなったとかなんだかんだ言われても GUI は欠かせません。😁

Tcl/Tk で本格的に始めた GUI プログラミングは、現在のところ Python/PySide に落ち着いています。PySide はすでに Qt 6 に対応していますが、Linux のデスクトップ環境も Qt 6 ベースだったら、GNOME から切り替えてみてもいいかなと、そこそこ真剣に考えています。

現行版の KDE Plasma 5 は、Qt 5 と KDE Frameworks 5 を利用しています。

KDE neon 5.25 のデスクトップ画面

一方 Qt は、Qt 6 が 2020-12-08 にリリースされて、現在 6.3.1 までバージョンが上がっています。そろそろ KDE Plasma も追従できるのではと期待しているのですが、残念ながら KDE Fremaworks 6 が一般に利用できるようにはなっていないようです [1] [2]

今年の 10 月はじめに開催される KDE Akademy 2022 のイベントで、KDE の Contributor である Volker Krause 氏が "KDE Frameworks 6 - Plans and Progress" という講演をするそうなので、その頃にはある程度のスケジュールが公開されるかもしれません [3]

参考サイト

  1. KDE Frameworks 6 QML porting [2022-08-13]
  2. Building Plasma for KDE Frameworks 6 [2022-05-14]
  3. Akademy 2022 (1-7 October 2022): KDE Frameworks 6 - Plans and Progress · KDE Events (Indico)
  4. Schedules/Plasma 6 - KDE Community Wiki

 

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



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

2022-08-17

deepin 23 Preview 版の Linglong について

Linglong は独立した新しいパッケージ管理ツールで、Linux における複雑なパッケージ形式や相互依存関係に起因する様々な互換性問題の解決、およびパーミッションの分散制御によって引き起こされるセキュリティリスクを軽減することに特化しています [1]

Deepin 23 Preview 版の公開時に Linglong を知りました。Linglong について調べて判ったことをまとめました。

下記の環境で動作確認をしています。

deepin 23 Preview x86_64

Linglong はまるで Flatpak

Linglong の詳細を理解できているわけではないのですが、アプリストアのサイトがあり、まるで Flathub のようです。

ll-cli コマンド

ll-cli コマンドで Linglong アプリの管理ができるようなので、早速確認しました。

ll-cli コマンドの使用例
コマンド例 説  明
ll-cli list
インストールされている Linglong アプリの一覧を表示します。
実行例
bitwalk@deepin-pc:~$ ll-cli list
appId                           name                            version         arch        channel         module      description
org.dde.calendar                dde-calendar                    5.9.2.7         x86_64      linglong        runtime     calendar for deepin os.
org.deepin.Runtime              runtime                         20.5.0          x86_64      linglong        runtime     runtime of deepin
org.deepin.browser              deepin-browser                  6.0.16          x86_64      linglong        runtime     browser for deepin os.
org.deepin.calculator           deepin-calculator               5.7.21.4        x86_64      linglong        runtime     calculator for deepin os
org.deepin.camera               deepin-camera                   6.0.2.6         x86_64      linglong        runtime     camera for deepin os.
org.deepin.compressor           deepin-compressor               5.12.6.12       x86_64      linglong        runtime     compressor for deepin os
org.deepin.draw                 deepin-draw                     6.0.0.15        x86_64      linglong        runtime     draw for deepin os.
org.deepin.editor               deepin-editor                   5.10.29.10      x86_64      linglong        runtime     editor for deepin os.
org.deepin.gomoku               deepin-gomoku                   1.0.9.11        x86_64      linglong        runtime     gomoku for deepin os.
org.deepin.lianliankan          deepin-lianliankan              1.0.9.7         x86_64      linglong        runtime     lianliankan for deepin os.
org.deepin.movie                deepin-movie                    6.0.2.9         x86_64      linglong        runtime     movie player for deepin os
org.deepin.reader               deepin-reader                   5.10.21.6       x86_64      linglong        runtime     reader for deepin os.
org.deepin.screen-recorder      deepin-screen-recorder          6.0.2.16        x86_64      linglong        runtime     screen recorder for deepin os.
bitwalk@deepin-pc:~$ 
ll-cli query appId
リモートリポジトリからアプリのメタ情報を検索します。
実行例
bitwalk@deepin-pc:~$ ll-cli query calculator
appId                           name                            version         arch        channel         module      description
org.deepin.calculator           deepin-calculator               5.5.23          x86_64      linglong        runtime     Calculator for UOS
org.deepin.calculator           deepin-calculator               5.7.1           x86_64      linglong        runtime     Calculator for UOS
org.deepin.calculator           deepin-calculator               5.7.16          x86_64      linglong        runtime     Calculator for UOS
org.deepin.calculator           deepin-calculator               5.7.16.1        x86_64      linglong        runtime     Calculator for UOS
org.deepin.calculator           deepin-calculator               5.7.21.2        x86_64      linglong        runtime     calculator for deepin os
org.deepin.calculator           deepin-calculator               5.7.21.3        x86_64      linglong        runtime     calculator for deepin os
org.deepin.calculator           deepin-calculator               5.7.21.4        x86_64      linglong        runtime     calculator for deepin os
bitwalk@deepin-pc:~$ 
ll-cli install appId
Linglong アプリをインストールします。/ で区切って、特定のバージョンのインストールを指定できます。
実行例
bitwalk@deepin-pc:~$ ll-cli install org.deepin.calculator/5.7.1
install org.deepin.calculator/5.7.1 , please wait a few minutes...
30 metadata, 79 content objects fetched; 11006 KiB transferred in 30 seconds; 30.9 MB content written
message: install org.deepin.calculator, version:5.7.1 success
ll-cli run appId
Linglong アプリを実行します。
実行例
bitwalk@deepin-pc:~$ ll-cli run org.deepin.calculator
ll-cli uninstall appId
Linglong アプリをアンインストールします。
実行例
bitwalk@deepin-pc:~$ ll-cli uninstall org.deepin.calculator
message: uninstall org.deepin.calculator, version:5.7.21.4 success
bitwalk@deepin-pc:~$ 
ll-cli update appId
Linglong アプリを更新します。
実行例
bitwalk@deepin-pc:~$ ll-cli update org.deepin.calculator
update org.deepin.calculator , please wait a few minutes...
org.deepin.calculator is updating...
message: update org.deepin.calculator success, version:5.7.1 --> 5.7.21.4
bitwalk@deepin-pc:~$ 
ll-cli ps
実行中の Linglong アプリの一覧を表示します。
実行例
bitwalk@deepin-pc:~$ ll-cli ps
App                                             ContainerID                         Pid     Path
org.deepin.calculator/5.7.21.4/x86_64           1010fd4912aa4fecb24dbb165db5aa99    7703    /run/user/1000/linglong/1010fd4912aa4fecb24dbb165db5aa99
org.deepin.browser/6.0.16/x86_64                ffbb57252d784cdf9e8d44413a8eddf4    2838    /run/user/1000/linglong/ffbb57252d784cdf9e8d44413a8eddf4
bitwalk@deepin-pc:~$ 
ll-cli exec containerId cmd
実行中の Linglong コンテナの内部に入ります。(※ コマンドの実行ではエラーが出ていませんが、正常に動いていないように見えます。使い方が悪いのかもしれません。)
実行例
bitwalk@deepin-pc:~$ ll-cli exec 1010fd4912aa4fecb24dbb165db5aa99 /bin/bash
bitwalk@deepin-pc:~$ ll-service
service exist QDBusError("", "")
bitwalk@deepin-pc:~$ 
ll-cli kill containerId
実行中の Linglong アプリを強制終了します。
実行例
bitwalk@deepin-pc:~$ ll-cli kill 1010fd4912aa4fecb24dbb165db5aa99
kill app:org.deepin.calculator/5.7.21.4/x86_64 success
bitwalk@deepin-pc:~$ 

参考サイト

  1. Home | linglong
  2. bitWalk's: deepin 23 Preview がリリースされたので試してみました [2022-08-16]

 

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



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