openSUSEで手軽にZoomを使う

By Syuta Hashimoto @ 2022-12-20 08:01

この記事は openSUSE Advent Calendar 2022 の20日目です。

オンラインカンファレンスなどで広く使われてるZoomをopenSUSEで手軽に使おうと思います。

そう、もうおわかりですね。Flatpakで導入します。

Flatpakとはコンテナ技術をデスクトップアプリに応用したユーティリティで、隔離環境でデスクトップアプリを使うことができます。

つまり、ホストの環境に依存しないので、僕のようにあれこれしてしまっているホストでも安心して使うことが出来ます。

まず、Flatpakがインストールされてなければインストールします。

sudo zypper in flatpak

そして、Flathubという、パッケージのリポジトリを登録します。

flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

登録したらアップデートを行います。

flatpak update

後はFlathubの公式ページ通りにすればすべてOKです。

Zoomのインストール

flatpak install flathub us.zoom.Zoom

Zoomの起動

flatpak run us.zoom.Zoom

これだけで比較的新しいバージョンのZoomを使うことが出来ます。

僕の所にパッケージで入っていたZoomがあったのですが、ある日「バージョン上げないとログインできないよ」と出てしまい、さっと思いついたのがFlatpakの利用でした。確か、30分後にZoomが必要、な時で、ちょっと焦ったのを覚えています。Flatpakを抑えておくと、こういう時に助かったりします。

また、skypeもslackもdiscordも、僕はFlatpakで快適に運用しています。

隔離環境のため、ローカルファイルとの連携などに多少流儀がありますが、環境を気にせず使える利点はありがたいです。いずれ、Flatpakを深堀してみたいと思います。

この記事は openSUSE Advent Calendar 2022 の18日目です。

systemd が使われるようになると、daemon の制御とかのやり方は大きく変わりました。/etc/init.d にあるスクリプトから、systemd パッケージに含まれるコマンドを使うようになってきました。それらのコマンドは、xxxxxctl という、末尾に ctl が含まれるものが多いように感じました。そこで、/usr/bin/ の中にある、末尾が ctl なプログラムがどんなものかを簡単に調べて見ることにしました。

今回は、wdctl を紹介します。

コマンド名: wdctl
パッケージ: util-linux-2.37.2-150400.8.8.1.x86_64
動作: ○

wdctl は、システムのウオッチドッグ情報を表示するコマンドです。引数なしで起動すると以下のように表示します。

% wdctl
Device:        /dev/watchdog0
Identity:      Software Watchdog [version 0]
Timeout:       10 seconds
Pre-timeout:    0 seconds

オプションによって表示形式を変更することは出来ますが、基本的に上記のような情報を表示するだけです。ですので、あまり使い道はないかと思います。

Geeko Magazine Special Edition 2022 冬

By ftake @ 2022-12-17 13:01

Geeko Magazine の新刊を発行します。最初の頒布はコミックマーケット C101 2日目 12/31(土)です。スペースは西地区 “さ” ブロック 22b です。
https://webcatalog.circle.ms/Perma/Circle/10269059/

今回の記事は以下のとおりです

  • iPXE を使って openSUSE を自動インストール
    Proxmox VE 上で AutoYaST を使う
  • openSUSE で iSCSI
    QNAP に iSCSI で繋げてみる
  • openSUSE で Qsync を動かす
    QNAP を使ったファイル同期機能
  • WordPressがメモリー不足で落ちた!
    いまさらだけどApacheのMPMを見直した話
  • CombustionでMicroOSをプロビジョン
  • eBPFとLinux カーネルコードリーディング
  • 小説: エーデル・シュティメ 〜とあるカメレオンの雪解けな平日〜

コロナ禍で過去号を手にしていない方も多いと思いますので、2022年夏号、2021年冬号とのセットも予定しています。コミックマーケットC101への参加には入場券の事前購入が必要ですのでお気をつけください。最後までいますので、午後券でも大丈夫です。

この記事は openSUSE Advent Calendar 2022 の14日目です。

大分遅くなりましたが、先月、自宅のopenSUSEを15.4にアップデートしました。なお、SLES15 サービスパック3(Leap 15.3のベース)は、2022年12月でサポートが切れる(セキュリティパッチの提供などが終了する)ので、皆さん15.4にアップデートすることをおすすめします。

さて、15.4にアップデートしたところ、emacsを起動した時に初期設定が反映されなくなりました。

そこでXDDCのもくもく会で力を貸して頂いて対処したので、書いてみます。なお、最終的な解決までには至りませんでした。

結論

/usr/share/hunspell に、ja_JP.affとja_JP.dicを配置する(中身は何でも良い)

症状

emacsを起動しても初期設定が反映されない

*Messages*に以下のメッセージが表示されている

ispell-find-hunspell-dictionaries: Can’t find Hunspell dictionary with a .aff affix file

教えてくださった方法

Ubuntuの開発者の方に、まずstraceでemacs.d/init.el読んでるかみてみたら?と教えて頂きました。

strace -f emacs > strace.log

straceはシステムコールやシグナルをトレースするプログラムです。

このログをinit.elでgrepしても、ヒットしませんでした。なので、そもそもinit.elを読んで無いようです。

どうやら、メッセージにある通り、hunspellの起動が失敗していて、init.elの読み込みまで進んでないようです。

それでhunspellでログをgrepしていると、/usr/share/hunspell/ja_JP.affと/usr/share/hunspell/ja_JP.dicを読みに行く跡がありました。

そこで、/usr/share/hunspell/en_US.affと/usr/share/hunspell/en_US.dicをそれぞれコピーして/usr/share/hunspell/ja_JP.affと/usr/share/hunspell/ja_JP.dicとして配置した所、無事init.elを読み込みました。

hunspellは日本語チェックをする事はないので、このファイルがあることは問題にならないのですが、回避策にしかならないですね・・・

hunspellはどうやらLANGの値を見ているらしく、以下のように起動するとエラーなく起動できました。

LANG=en_US.UTF-8 emacs 

hunspellがLANGの値を見る所を探っていけば、根本解決までいけそうですね。

LinodeにopenSUSEがあった

By Syuta Hashimoto @ 2022-12-11 14:26

この記事は openSUSE Advent Calendar 2022 の11日目です。

12/4(日)の前日設営と、12/5(月)、6(火)に、Open Source Summit Japan 2022にボランティアスタッフとして参加してきました。

そこでCDN大手のAkamaiさんがブースを出していて、Linodeというクラウドプロバイダーを買収してクラウドサービスを始めたとアピールされていました。クーポン頂いちゃいました。

そしてなんとそのLinodeのイメージにopenSUSE Leapが入っていました。

(クラウドでサーバー用途で使うならMicroOSがいいですが、さすがに利用者が遠ざかってしまいますかね・・・)

他にも、AlmaLinux、Alpine、Arch、CentOS、Debian、Fedora、Gentoo、Kali、Rocky、Slackware、Ubuntuと、一通り揃っているのでは無いでしょうか。(さすがにミラクルはない模様・・・ここはプッシュのチャンスかも)

お値段はこんな感じです。

Shared CPUだとかなりお安い感じで使えるのでは無いでしょうか。パフォーマンスがどれくらい出るものなのか、興味深いですね。なお、GPUは日本だと選べませんでした。

作成時にsshキーを登録できるので、すぐにssh接続で使えます。IPもグローバルを振ってくれます。

podmanをインストールしてnginxを動かしてみました。

いつも通りの操作で普通に動きました。

せっかくなので、クラウドで遊ぶ時は使わせて頂こうと思います。

あと、各リージョンのベンチマークができるサービスもあったので、後日紹介させて頂きます。

この記事は openSUSE Advent Calendar 2022 の10日目です。

systemd が使われるようになると、daemon の制御とかのやり方は大きく変わりました。/etc/init.d にあるスクリプトから、systemd パッケージに含まれるコマンドを使うようになってきました。それらのコマンドは、xxxxxctl という、末尾に ctl が含まれるものが多いように感じました。そこで、/usr/bin/ の中にある、末尾が ctl なプログラムがどんなものかを簡単に調べて見ることにしました。

今回は、powerprofilesctl を紹介します。

コマンド名: powerprofilesctl
パッケージ: power-profiles-daemon-0.12-1.2.x86_64
動作: ○

詳細:
powerprofilesctl は、電源モードの表示や変更を行うプログラムです。powerprofiles は GNOME の 設定→電源 で表示される電源モードになります。プロファイルの一覧、現状のプロファイル状態は以下のようにして表示できます。

% powerprofilesctl list
  balanced:
    Driver:     placeholder

* power-saver:
    Driver:     placeholder
% powerprofilesctl get
power-saver

また変更は下記のように行えます。

# powerprofilesctl set balanced
# powerprofilesctl get
balanced

ただ、電源プロファイルを変更することはほとんど無いので、このコマンドの出番はあまりないのかもしれません。

この記事は openSUSE Advent Calendar 2022 の5日目です。

systemd が使われるようになると、daemon の制御とかのやり方は大きく変わりました。/etc/init.d にあるスクリプトから、systemd パッケージに含まれるコマンドを使うようになってきました。それらのコマンドは、xxxxxctl という、末尾に ctl が含まれるものが多いように感じました。そこで、/usr/bin/ の中にある、末尾が ctl なプログラムがどんなものかを簡単に調べて見ることにしました。

今回は、hostnamectl を紹介します。

コマンド名: hostnamectl
パッケージ: systemd-249.12-150400.8.13.1.x86_64
動作: ○

詳細:
hostnamectl は、システムのホスト名や関連する情報の表示や変更を行うプログラムです。昔ながらの、ホスト名を表示するプログラム hostname は、引数を指定しないで入力すると、単にホスト名を返すだけですが、hostnamectl を引数を指定しないで実行すると、

 Static hostname: suse154
       Icon name: computer-vm
         Chassis: vm
      Machine ID: 61ee5253e44f403c9918308e232c84b8
         Boot ID: 2dc4f7eae3724c6497708a64e08a516c
  Virtualization: kvm
Operating System: openSUSE Leap 15.4
     CPE OS Name: cpe:/o:opensuse:leap:15.4
          Kernel: Linux 5.14.21-150400.24.33-default
    Architecture: x86-64
 Hardware Vendor: QEMU
  Hardware Model: Standard PC _i440FX + PIIX, 1996_

と、たくさんの情報を表示します。今回テストしている環境が KVM 配下であることもバレてしまいます。旧来の hostname コマンドと互換を取るには、引数として hostname を指定すれば良いです。単に hostname を返します。
もちろん、root でないとできませんが、host 名を変更することも可能です。

# hostnamectl hostname suse154A
# hostnamectl hostname
suse154A

そのほかに、JSON形式で出力することも可能です。

hostnamectl --json=pretty
{
        "Hostname" : "suse154",
        "StaticHostname" : "suse154",
        "PrettyHostname" : null,
        "DefaultHostname" : "localhost",
        "HostnameSource" : "static",
        "IconName" : "computer-vm",
        "Chassis" : "vm",
        "Deployment" : null,
        "Location" : null,
        "KernelName" : "Linux",
        "KernelRelease" : "5.14.21-150400.24.33-default",
        "KernelVersion" : "#1 SMP PREEMPT_DYNAMIC Fri Nov 4 13:55:06 UTC 2022 (76cfe60)",
        "OperatingSystemPrettyName" : "openSUSE Leap 15.4",
        "OperatingSystemCPEName" : "cpe:/o:opensuse:leap:15.4",
        "OperatingSystemHomeURL" : "https://www.opensuse.org/",
        "HardwareVendor" : "QEMU",
        "HardwareModel" : "Standard PC _i440FX + PIIX, 1996_",
        "ProductUUID" : null
}

JSON 形式で出力する場合、hostname オプションを指定すると、json 機能は無効になってしまうようです。

従来からの hostname コマンドもたぶん残っていくとは思いますが、新しい hostnamectl コマンドも覚えて置いた方が良いかもしれません。