Ubuntu20.04でWeb面接環境を整える

これはWMMCAdventCalendar2022

adventar.org

の14日目の記事です。

昨日は太郎🔖君の[「HM-StarterKitについて(初学者向け)」](https://jitsuhataro.hatenablog.com/entry/2022/12/12/002323?_ga=2.51530729.1707336129.1670857021-2015111682.1670857020)でした。

はわぷろさんも言及していましたが、読んでいると、「楽しい」という感情が出てくるのは素晴らしいですね。この調子で頑張っていってほしいです。

なんか、標準DCマウス作ってもいいんじゃねみたいな気がしましたね。結局、面白くないと続かないのと、コロナでマウスやってた人口が激減しているので、ノウハウがロストしてしまって...みたいなのは、全国のマウスサークルの悩みの種なのではないでしょうか。(3年ぐらいマイクロマウスの大会行ってないので近況が全くわからんですが)

人口復活のためにもいいのかもしれないっすね。工夫点やノウハウの蓄積していくフェーズがなくなりますが、まぁその分他に充てられるような気もするっすしね。(※以上は老害の独り言です)

で、今回ですが、書くことのネタが2個あったので、片方のやつだします。 今週忙しくて、普通に楽なやつを今回放出します。

0.事故

~とある日のしがない就活生の J君~

J君「お、面接まであと10分だな〜」(10)

J君「PCの電源、オンっと…」(10)

J君「あれれ〜?おっかしいぞ〜?Windowsが…吹っ飛んで……ないかこれ!!!?」(7)

ワイ()「仕方ない!ubuntuで入ってブラウザから面接会場に入ろう!」(6)

(ubuntu起動)

ワイ「あ、あれ…?Airpodsがつながってるのにマイクが入らない…」(3)

ワイ「あれ?マイクテストー、マイクテストー、あれ?マイクマジで入らん」(1)

ワイ「あれもう面接時間だ…orz」(0.5)

ってなりました(マジ変に寿命減った)

ちなむとマイクの調子悪いので再起動しますとかチャットして面接官に待ってもらって、 他のPC持ってきてどうにかこうにか対処したんすが、結構焦りました。

なので、あらかじめちゃんとubuntuサイドで面接環境を整えておけば良かったななどと思って普通に後悔したので備忘録として残します

1.やること

今回やることは以下の3つです。 もし、「これもあると便利です」っていうのがあれば ぜひとも教えてください(笑)

①Web会議のアプリをインストールする

②Airpodsがつながらない問題を解決する

③パワポを使えるようにする

では、初めて行きましょう

2.①Web会議のアプリをインストールする

て、まず、面接で使うオンラインweb会議アプリは

①Zoom

②Teams

③Webex

あたりです。 ブラウザで使うことができるものもありますが、 ここは一旦インストールしておきましょう。

詳細なインストール方法は、省きます。 一応、簡単に言っておくと、「.DEB」をダウンロードして、そのダウンロードしたファイルがあるディレクトリで

sudo dpkg -i (.DEBファイル名)

とするとはいるはずです。

3.②Airpodsがつながらない問題を解決する

Linuxの環境では音声アプリケーションと 実際に音を入手力させるデバイスのドライバー(デバイスドライバー)の仲介役として

ALSA(とPulseAudio)

があります 基本的にALSAが取りまとめており、各オーディオアプリケーションへのリソースを調節するのがPulseAudioなのです 従って複数のアプリの音声入出力を調停するのは PulseAudio が担当しているようです。

例えを出すと ALSAが正規販売店「Pulse Audioがマルチディーラー」の役割を担っているみたいな(ほんまか?)かんじです。

しかし、この関係性は必ずしも守られるわけではないようです。 いくつかのアプリケーションは Pulse Audio(ディーラー)を介さず直接ALSA(正規販売店)を介するようになっています。 他にも、Pulse Audio(ディーラー)があたかもALSA(正規販売店)のふりをして、顧客とやりとりをして、取引が終わったらALSA(正規販売店)とやりとりを始めるみたいなことも多いのです。 そのため、オーディオ設定が面倒になることも多いです。

なので、今回はPulse Audioの設定をいじってやれば、 きっと繋がらなかった Airpodsも繋がると考えられます。 そして、その設定ファイルは/etc/pulse/default.pa にあるようです。

/*************************************************************************/

ここで、「systemd」について、にわかより補足です。

基本的にLinuxが起動すると以下の手順で起動されます。

この中の「Init」がこの「systemd」が動くところです。

Initシステムでは、

①systemd プロセス (/usr/lib/systemd/systemd) を開始

②/etc/systemd/system/default.target のシンボリックリンクからターゲットを確認

③ターゲットに対して、依存関係/順序を持つサービスを自動で起動

の3ステップで動きます。

systemdについては 【入門】systemd とは?設定ファイルの書き方や自動起動の設定 | ほげほげテクノロジーがわかりやすい気がします。まだ。

systemd内の「.service」の基本構成は [unit]と[install]で、各サービス固有の設定がある場合は[Service]タグ内に記述するようです。

しかし、この中で ターゲットレベル「multi-user.target」に関して、systemdファイルはユーザーレベルでの起動ができません。

そこでデーモンをリロードしておく必要があります。 ちなむとよく勘違いされがちですが、 デーモンは、↓

「ユーザーが意識することがないような裏の部分で動いており、システムを維持したりユーザーにサービスを提供したりといったことを行っています。ちなみにこのデーモンとは悪魔の事を指すdemonではなくdaemon(守護神)です。」

引用: Linux リテラシ - 第4回 デーモン

デーモンのリロードと同時に

systemctl --user enable (サービス名)

でサービスを自動起動にさせておくことで、 phonesimなどの、音声入出力関連が自動起動するようになります。

では、以上を踏まえて、実際に設定を進めていきましょう。 /*************************************************************************/

(1)まず、音声入出力パッケージである「ofono」をインストールします。

sudo apt install ofono

(2)Pulse Audioの設定ファイル(/etc/pulse/default.pa )にて、以下を記載。 まず設定ファイルを開く。

code /etc/pulse/default.pa

そして、以下を記載する。

#load-module module-bluetooth-discover #ここをコメントアウト
load-module module-bluetooth-discover headset=ofono #ここを追記する

なお、管理者権限できちんと変更を有効にする必要がある。

(3)ユーザー「pulse」をbluetoothグループに追加します。これで、「sudo」権限なしでpulseユーザーとしてbluetooth グループを使用できます。

sudo usermod -aG bluetooth pulse

(4)「ofono」の設定ファイル(/etc/dbus-1/system.d/ofono.conf)の変更

先ほど同様にまずは設定ファイルを開く

code /etc/dbus-1/system.d/ofono.conf

そして以下を追記する

<policy user="pulse">
  <allow send_destination="org.ofono"/>
</policy>

(5)次に、「ofono-phonesim」をインストールする

リポジトリの登録からインストールまでは以下をターミナルで実行すればよい

sudo add-apt-repository ppa:smoser/bluetooth
sudo apt update
sudo apt install ofono-phonesim

(6)「ofono-phonesim」の設定ファイル(/etc/ofono/phonesim.conf)に以下を追記する

また、先ほど同様に、以下でファイルを開く。

code /etc/ofono/phonesim.conf

そしたら、以下を追記する

[phonesim]
Driver=phonesim
Address=127.0.0.1
Port=12345

(7)「ofono」を再起動

sudo systemctl restart ofono

(8)上記で説明した、「ofono」のsystemdユニットファイル(/etc/systemd/system/ofono-phonesim.service)を作成して、中に以下を記載する

まず、/etc/systemd/system/ofono-phonesim.serviceを作成する。

cd /etc/systemd/system/  #ディレクトリに移動
touch ofono-phonesim.service  #ファイルを作成

作れたら、以下を記載する。

[Unit]
Description=Run ofono-phonesim in the background

[Service]
ExecStart=ofono-phonesim -p 12345 /usr/share/phonesim/default.xml
Type=simple
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

先ほどの説明のように、基本構成は[Unit]と[Install]であるが、今回は[Service]もある。

(9)ofono のソースコードをクローンし、配置

git clone git://git.kernel.org/pub/scm/network/ofono/ofono.git
cd ofono
git checkout 
cd ..
sudo mv ofono /opt/

(10)「phonesim 」の Systemd ユニットファイル( /etc/systemd/system/phonesim-enable-modem.service) を作成

まず、/etc/systemd/system/phonesim-enable-modem.serviceを作成する。

cd /etc/systemd/system/  #ディレクトリに移動
touch phonesim-enable-modem.service  #ファイルを作成

作れたら、以下を記載する。

[Unit]
Description=Enable and online phonesim modem
Requires=ofono-phonesim.service

[Service]
ExecStart=/opt/ofono/test/enable-modem /phonesim
ExecStart=/opt/ofono/test/online-modem /phonesim
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

(11)デーモンのリロードと自動化を有効にする

sudo systemctl daemon-reload
sudo systemctl enable ofono-phonesim
sudo systemctl enable phonesim-enable-modem
sudo systemctl start ofono-phonesim
sudo systemctl start phonesim-enable-modem

(12)最後に実行&再起動

pulseaudio -k

sudo reboot

これで、Airpodsがつながっている..はず!

4.③パワポを使えるようにする

あ、で、オンライン面接、自分の研究スライド出せって言われることもあってですね、 officeがubuntuだと容易に使えなくて不便だったので 下記のdebパッケージをダウンロードし、

linux.wps.com

sudo dpkg -i <パッケージ名>

で、インストール完了です。 実際にターミナルで

wpp

と打つと開いてパワポが使えるようになります。 スライドショーもできる。

フォントが崩れるのこともあるらしが、それはググると解決しそうなので、ここでははぶきます。

とりあえず、 これで最低限のオンライン面接環境が整いました。

もしこれもあると便利だよ! ってのがあれば教えてもらえると助かります。

5.最後に

以上で、最低限の面接環境を整えることができました。 二度と、あんな悲惨な事故を起こすわけにはいかないので備忘録です。 次の記事では、ロボットに関する記事でもあげたいとおもっています。 一応、ロボット系の研究室の修士なので...

さて、次回予告です。 明日は、Xfa君の、「Nucleoマウスの話か何か」だそうです。 卒論時期にあざす。本当ほどほどにで大丈夫です。 ちなむと、あの機体はユーザビリティが高そうということで 先輩たちに絶賛でした。素晴らしいですね。

では、また次回に。

参考

AirPods ProをUbuntu 20.04で使用する(マイク(音声入力))│hirooka.pro

PulseAudio/サンプル - ArchWiki

UbuntuでPowerPointドキュメントを作成する - Qiita