これはWMMCAdventCalendar2022
の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つです。 もし、「これもあると便利です」っていうのがあれば ぜひとも教えてください(笑)
では、初めて行きましょう
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(守護神)です。」
デーモンのリロードと同時に
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パッケージをダウンロードし、
sudo dpkg -i <パッケージ名>
で、インストール完了です。 実際にターミナルで
wpp
と打つと開いてパワポが使えるようになります。 スライドショーもできる。
フォントが崩れるのこともあるらしが、それはググると解決しそうなので、ここでははぶきます。
とりあえず、 これで最低限のオンライン面接環境が整いました。
もしこれもあると便利だよ! ってのがあれば教えてもらえると助かります。
5.最後に
以上で、最低限の面接環境を整えることができました。 二度と、あんな悲惨な事故を起こすわけにはいかないので備忘録です。 次の記事では、ロボットに関する記事でもあげたいとおもっています。 一応、ロボット系の研究室の修士なので...
さて、次回予告です。 明日は、Xfa君の、「Nucleoマウスの話か何か」だそうです。 卒論時期にあざす。本当ほどほどにで大丈夫です。 ちなむと、あの機体はユーザビリティが高そうということで 先輩たちに絶賛でした。素晴らしいですね。
では、また次回に。