プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

Skype Meet Now を使ってみました

先日、2021年6月20日(日)に、第23回伊勢IT交流会を開催しました。

第23回伊勢IT交流会(オンライン) - connpass

前回に引き続き今回もオンラインでの開催としました。

で、前回のイベント時には、SpatialChat というWebサービスを利用したのですが、こちらの記事にまとめたように、LT 等の画面共有時にまともに映らないというトラブルがありました。

せっかく、LTをしていただいているのに、これはまずいな、ということで、一旦 SpatialChat をやめて、他のサービスを使うことにしました。

選んだのは Skype Meet Now です。これを選んだ理由は、

  • 3人以上での会議でも2時間以上(24時間まで)開催できる
  • 参加者に Microsoft アカウントや Skype アカウント などのアカウント登録が不要

というのが決め手でした。

Skype 自体は昔からあるサービスなのでいままで利用したことあるのですが、この Skye Meet Now を多人数で利用したのは初めてでしたので、今回も思ったことをまとめておきます(あくまでも私の主観ですのであしからず)。

会議の開催

Skype Meet Now は簡単に利用できます。 Webページを開いて、

f:id:junichim:20210621150235p:plain

会議名を入力後、『無料のビデオ通話を作成する』を押せば、

f:id:junichim:20210621150430p:plain

のように、招待用URLが表示されます。

あとは、この招待用URLを参加者に送ってクリックしてもらえばOKです。

Skype クライアントからの開催

Skype がインストールされていれば、そちらから会議を開催することもできます。

f:id:junichim:20210621151136p:plain

Skype のクライアントアプリを起動して、『会議』をクリックすると『会議をホスト』というメニューが表示されるので、そちらをクリックします。

f:id:junichim:20210621151314p:plain

すると、先ほどのブラウザと同様に、会議のURLが表示されるので、これを参加者に送ればOKです。

参加者側の操作

参加者側は、送られてきたURLをクリックすれば、ブラウザで会議に参加できます。

もし、PCに Skype がインストールされていればそちらで参加することもできます。

簡単ですね。

スケジュールした会議の開催

非常に簡単に会議を開催することができるのですが、会議は一度作成したら、そのままずっと使えます。 言い換えれば、指定日時に会議を開始するとか、一度作成した会議を削除するとか、ということができません。

なので、使い方がちょっと微妙だな、という用途もあるかもしれませんので、ご注意ください。

会議中の注意点

今回の参加者は最大時で8名でしたが、大きなトラブルはなかったです。

(下記の通話終了問題以外で)イベントの途中で回線が切れることもありませんでした。映像は時々カクカクしてました。一方、音声は特に問題なかった印象です。

とはいえ、トラブルというほどでもありませんが、 このツールも注意するべき点がいくつかありました。

  • LT 発表者が発表が終わり画面共有を終了しても、カメラが自動的にオンにならない(なので、誰かが教えてあげるまで発表者が映らない状態になってしまった)
  • 会議参加者の誰かが、表示方法の『一緒モード』を選択すると全員の表示が一緒モードになってしまった
  • 自分だけ会議を終了しようと思い、下記画像にある赤い受話器のボタンを押すと、会議全体が終了してしまう

f:id:junichim:20210621151958p:plain

一緒モードみたいなものは、個別に設定できるといいのに、なんで全員が切り替わるんですかね?(単なる不具合?)

ネットの記事などを見ると、『一体感を増す』ためとかあるんですが、この手のものは個々人の好みがあるので、もしこれが使用なら正直微妙だな、と思ってしまいます。

まとめ

今回の伊勢IT交流会は、LTが少なめだったこともあり、結構雑談してました。 Skype Meet Now 固有の問題ではないのですが、zoom とかも含めて、オンラインミーティングツールって、参加者間で雑談するのには向いてないんだよな、というのを改めて感じました(しゃべってる一人が全体の話題を支配してしまう)。

この点は、やっぱり SpatialChat のようなアプローチのほうが優れてるなと感じました。

次回はどうするかな?

LT部と雑談部で使うツールを変えたらどうだとうか?と思っているのですが、それも参加者の方には煩雑になりそうでなんだかなー、と思っているのが今のところです。

もっとも、これだけのものを無料で使えるということ自体がありがたいことなんで文句ばっかり言えないんですけどね。

いずれにせよ、次回開催予定の年末・年始までには(無料で使える)いいツールが出てきていることを期待してます。

WSL 上に C/C++ の開発環境を構築

WSL 上に C/C++ の開発環境を構築した際のメモです。

ubuntu のバージョンは 18.04.5 です。

以下を参考にしました。

VSCode で C/C++ を書く環境を用意するメモ (Ubuntu)

WSL へ GCC / GDB をインストール

すでに入っていました。

mor@DESKTOP-H6IEJF9:~$ gcc --version
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

mor@DESKTOP-H6IEJF9:~$

なければ、 build-essential をインストールすればOKです。

mor@DESKTOP-H6IEJF9:~$ sudo apt install build-essential

build-essential をインストールすると gdb も入るとある記事もありますが、手元の環境だと gdb はインストールされていなかったので、別途入れます。

mor@DESKTOP-H6IEJF9:~$ sudo apt install gdb

インストールできたことを確認しておきます。

mor@DESKTOP-H6IEJF9:~$ gdb -v
GNU gdb (Ubuntu 8.1.1-0ubuntu1) 8.1.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
mor@DESKTOP-H6IEJF9:~$

問題ないですね。

VSCode でリモート開発するので、VSCode 用の C/C++ 用の拡張機能をインストールしておきます。

f:id:junichim:20210610103157p:plain

なお、インストール先は、 WSL 側になるので、その点ご注意ください。

ビルドして実行

では、早速試してみます。

VSCode で WSL側の適当なフォルダを開いて、『Hello World』 と表示する C のプログラムのファイルを作ります。

#include <stdio.h>

int main() {

    printf("Hello World\n");

    return 0;
}

この状態で、メニューの『実行』->『デバッグの開始』を選択すると

f:id:junichim:20210610103522p:plain

『環境の選択』をするように表示されるので、

f:id:junichim:20210610103604p:plain

『C++(GDB/LLDB)』を選択します。引き続き、『構成の選択』をするように表示されるので

f:id:junichim:20210610103709p:plain

『gcc - アクティブファイルのビルドとデバッグ』を選択しておきます。

すると、画面下部にターミナルが立ち上がり、コンパイル・実行がおこなわれて、結果が表示されます。

f:id:junichim:20210610104034p:plain

とりあえず、これで最低限の環境は整ったようです。

docker コンテナに ssh server を立てる

今更という感じですが、テスト用に docker を触るようになったので、メモっておきます。

docker で立てたコンテナに ssh 接続したいというのがあります。でも、『docker ssh』とかで検索すると、docker に ssh サーバーを立てて、コンテナイメージを作る、という記事はたくさん出てくるのですが、立ち上がり済みのコンテナに一時的でいいので、さっと ssh を立てるものは少し探さないと見つかりませんでした。

なので、その際にやったことをまとめておきます。

元ネタはこちらです。

リモートサーバーのコンテナにsshする - Qiita

docker コンテナの開始

今回は tomcat のコンテナを立ち上げました。コンテナは、 QNAP の NAS 上に立ててます。 QNAP の場合、 Container Station でイメージを探して、コンテナを立ち上げればあっという間に立ち上がります。

で、これに外から接続したいというものです。

調べたところ、結局、コンテナ内に、普通に ssh server を立ち上げて、ポートフォワードしてあげればそれでOKという結論でした。

ssh server のインストール

QNAP の Container Station からコンテナをクリックして、コンソールにログインします。

コンソールが立ち上がったら、 openssh-server をインストールします。

root@tomcat-1:~# apt install openssh-server

ちなみに、今回使った tomcat のイメージは debian buster がベースになっていました。

sshd_config の設定

/etc/ssh/sshd_config を編集します。下記行のコメントを外して有効にします。

Port 22                                                                                                                                                                                                                                                                   
AddressFamily any                                                                                                                                                                                                                                                         
ListenAddress 0.0.0.0                                                                                                                                                                                                                                                     

PasswordAuthentication yes                                                                                                                                                                                                                                                

Port 番号、接続元アドレスを設定し、パスワード認証を有効にします。 一時的にテストで使うだけなので、設定はざるです。

sshd を再起動しておきます。

root@tomcat-1:~# /etc/init.d/ssh restart

ユーザーの作成

SSH ログイン用のユーザーを作成しておきます。

root@tomcat-1:~# adduser user123

sudo のインストールと設定

作成したユーザーにsudoの権限を与えます。 sudoそのものがインストールされてなかったので、先にインストールします。

root@tomcat-1:~# apt install sudo
root@tomcat-1:~# gpasswd -a user123 sudo

ポートフォワーディング

QNAP の GUI から設定します。QNAP にログインして、 Container Station -> 概要 -> コンテナ名をクリック として詳細を表示します。

f:id:junichim:20210602142846p:plain

次に、 設定 -> 詳細設定 と進みます。『ネットワーク』をクリックすると、

f:id:junichim:20210602141353p:plain

のように、ポートフォワーディング設定画面が現れるので、任意のNAS側のポート番号をコンテナの22番ポートに割り当てます(ここでは、32222 を割り当ててます)。

デフォルト設定のままなら、適用を押すとコンテナが再起動します。

これで、準備完了です。

接続

クライアントから、ユーザー名 user123 、接続先 NASのIPアドレス:32222 として接続すると、パスワードを聞かれるので、正しいパスワードを入力したら無事接続できました。

頻繁に使うようなら、イメージを作るのもありですが、とりあえず一時的なテストで使いたいだけならこれで十分です。