Airplay Mirroring のために Apple TV 4K (4th Gen)にして幸せになったこと不幸せになったこと

以前からセミナーや授業で, 教員や学生の mac のデスクトップを wireless の Airplay mirroring で Apple TV 2nd Gen に接続されたプロジェクタや大型ディスプレイに出すということをやってきた.

hig3.hatenadiary.com

ところが, 最近になって, macbook からは AirPlay Mirroring できるのに, iMacmac mini からできなくなった. AirPlay から Apple TV を選んでも, "AirPlayできません"みたいな警告のダイアログが出る. 最近の AirPlay は古いハードウェアをサポートしてないのか? と疑ったが, 実は, OpenDirectory に管理された Netowrk User は古い Apple TV に AirPlay できない, という現象があるらしい. そりゃ MacBook は local user だけど, iMac, Mac mini は Network User だから.

Airplay mirroring error "Could not connec… - Apple Community

Apple TV 4K (4th Gen) だとこの問題はないという. 諸般の事情も考え合わせてえ, Apple TV 4K に置きかえたところ, 確かに AirPlay Mirroring できるようになった.

www.apple.com

しかし別の問題が発生. Apple TV 4Kは firewall の内側においているのでプロキシを設定したい. 以前の Apple TV 2nd Gen は, 管理用 Mac と micro/USBケーブルで接続して, Configurator2 を使ってプロキシを設定していた. Apple TV 4K ではここが変化して, Configurator2 を実行する管理用 Mac とネットワークで接続する必要がある. 何回か試行錯誤したが, プロキシを設定することはできていない. プロキシ設定前に, firewall の外側でまず activate しなきゃいけない, とかいろんな事情がある. たぶん管理用 MacApple TV の両方を firewall 外に出せばできるのだろう.

まあプロキシが設定できず The internet に接続できなくても, Mirroring に関して困ることはない. 以前は, ntp client や自動 Software Update が勝手に起動して mirroring が interupt されることがあったが, これらを disable しておき, 実行したいときだけ tethering などで firewall 外におけばよい.もちろん YouTubeiTunes Store のコンテンツは再生できないが.

hig3.hatenadiary.com

‎「Apple Configurator 2」をMac App Storeで

Server Manager on Windows 10 で Hyper-V Server が「オンライン - アクセスが拒否されました」と表示される

Hyper-V Server 2016 (Windows Server 付属のソフトウェアでなく CUI のみの無料の評価版)を, Windows 10 のサーバ管理ツール(Server Manager)から管理している. 2018-09 時点でどちらも最新版.

仮想マシンをいくつか作って問題なく運用していたが, あるとき, Server Manager のダッシュボードのすべてのサーバーの1個の仮想マシン(HTTP, SSH で問題なく使えている)の「管理状態」コラム

オンライン - アクセスが拒否されました

と表示されて操作できないことに気づいた. IPアドレスなども取得できていない. 当然 Hyper-V マネージャを起動できない.

ダッシュボードのすべてのサーバーボックスの管理状態を開くと, ```` 次のエラーにより、更新できませんでした:RPCサーバを利用できません。 次のエラーが原因で、サーバーからメタデータを取得できませんした

などとなっている.

結果論としては, Hyper-V Server 2016 の管理者ユーザのパスワードが期限切れになっていた. Hyper-V Server のコンソールで(つまりServer Manager経由では解決できなかった)パスワードを変更し, サーバ管理ツールのすべてのサーバーのリスティング上のコンテキストメニューから, 「管理に使用する資格情報…」を選んで, 新しいパスワードを登録したところ正常に戻った.

Wolfram Mathematica サイトライセンス用 Download Manager を用いた再インストールの失敗

Wolfram Mathematica 11.3.0 のサイトライセンス用 macOS 版 Download Manager (オンラインインストーラ)について. ダウンロード途中のデータは ~/Downloads/M-OSX-(バージョンや何かの番号) に保存される. インストールが終了すると, ~/Downloads/M-OSX-(something)/localmetadata.json が生成される. この 再インストールを意図して Download Manager を起動しても, 前回以前の .json ファイルが残っていると, インストール済と判断するのか, silent に終了して, ダウンロードが実行されない.

ハンズ・オン・スタートMathematica® -Wolfram言語™によるプログラミング

ハンズ・オン・スタートMathematica® -Wolfram言語™によるプログラミング

An Elementary Introduction to the Wolfram Language

An Elementary Introduction to the Wolfram Language

Mathematicaクックブック

Mathematicaクックブック

クラウド IDE codeanywhere でのコンテナの不適切な FQDN 設定による Moodle のランタイムエラー

クラウドIDEのひとつ, codeanywhere では, 各コンテナに containername-username.codeanywhere.com という形の FQDN が与えられる. これは, Editor 内でコンテナのコンテキストメニューの Info から表示できる. containername はユーザがコンテナに与えた名称(Editorの左コラムのリストに表示されるもの), username は codeanywhere.com のユーザ名.

codeanywhere.com では, ユーザ名未設定でもユーザ登録を完了してサービスを使用できる. このとき, FQDNはcontainername-.codeanywhere.com となるが, ドット直前の"-"は禁止されている*1. これにより, アプリが正常に機能しないことがあるので, ユーザ名の設定は完了しておくほうがいい.

正常に機能しないアプリの例: Moodle 3

インストールは完了に近いところまで正常に進むが, Moodle HQへのサイト登録ができない. そのあとブラウザからMoodleを使うと, 多くの機能で,

Error. Invalid Response Value Received

というポップアップアラートがでる.

これは, Moodle Web Service が出すランタイムエラーで, Moodle Mobile との関係でよく言及されている. Debug Mode にしても追加の診断が得られるわけではないので, 原因特定が難しいが, username を設定する(そして config.php をそれにあわせて修正する)と消えることが確認できる.

*1:RFC1034

Google Calendar and Google Drive Slack App

Google Calendar Slack AppGoogle Drive Slack App は互いに無関係ではない.

以下は, 2018-09 時点の Slack, Google Calendar App, Google Drive App のもとでの記述.

連携は #channel ごとでなく workspace ごとに行われる. 一方にひとつの Google Account を追加すると他方にも追加される. ただし, Calendar が複数の Google Account と連携できるのに対し, Drive は(Calendar の1個目のAccountと一致する)1個の Google Account としか連携できない.

他にも表面的な違い.

Calendar は, 任意の #channel に通知を送れるのに対し, Drive の通知は App との DM によって行われ*1, 任意の #channel への通知はできない*2.

Calendar App は1人でも使えるが, Drive App はworkspace の全メンバーが各々連携することを想定している. そして Drive のほうが深い連携を指向している. Drive は, 1人が連携しているだけでも, Drive 上のファイルを #channel 全メンバーが連携しているときには, Drive の一連のコメントを Slack の DM のスレッドにマップして, Slack 内から Drive のコメントをできるようにする.

slack.com

はじめてみようSlack 使いこなすための31のヒント

はじめてみようSlack 使いこなすための31のヒント

*1:ZapierやIFTTTのGoogle Drive integration が, 新規ファイルなどに限られるのに対し, Slack App は新規コメントまで通知できる

*2:+アイコンからのDrive 上のドキュメントの扱いはすべての #channel でできる

Trusted domain にない複数台のリモートのHyper-V Server を1台のクライアントの Server Manager に登録するときの WinRMのネゴシエート認証エラーの回避

Windows Remote Management Service (WinRM Service)において, trusted domain 内にあるわけでないサーバ(たとえばHyper-Vサーバ) hvserver01 をクライアント側(Server Managerを実行する管理用Windows10)で管理しようとするとき, サーバを信用するために, 管理者のコマンドプロンプトで実行すべき命令として,

winrm set winrm/config/client @{TrustedHosts="hvserver01"}

というのがよく書かれている.

英語で set と add の違いを知っている人, 可算名詞の後ろについたsが何を意味するかを知っている人には自明のことだったはずだが, 上記の命令は, hvserver01 以外を信用するな, というを言っている. つまり, 複数のHyper-Vサーバを, 1台の管理用Windowsに登録しようとすると, 1台目の設定においては上でよいが, 2台目に対して hvserver02 に置きかえた命令を行うと, hvserver01 を信用する設定は失われる.

Hosts を表現するのはコンマ区切りリストだそうで,

winrm set winrm/config/client @{TrustedHosts="hvserver01,hvserver02"}

としないといけない. 下の記事を読むまで, サーバ1台追加の作業は各々独立, 可換とは限らないことに気づけずにいた.

Google Home Mini は firewall 内では使えない

Google Home Mini (system firmware version 100429)をiOSアプリの Google Home で設定する場合.

Google Home Mini を無線LANに(routerに)接続するところまでは, インターネット接続不要で実行できる. そこで, Google Home Mini が初期登録のために Googleのサーバに接続しようとするが, firewall内で実行している場合は, そこから先に進めなくなる. なお, この firewall 内にある無線LANでは DHCPwpad で, http, https, socks proxy プロキシが通知されている.

いったん firewall 外に持っていって初期登録を行うと, iOSGoogle Homeアプリで デバイス>設定 メニューが現れるが, ここには手動や自動のプロキシ設定はない.

この後, firewall 内すなわち別の無線LAN下に持って帰ってくると, Google Home Mini は, 初期登録した無線LANがなくなったことに気づいて, 再び自分が router になり, 新しい無線LANへの接続を促す(従って, 無線LANを変更するたびにfactory resetする必要はない). しかし, この場合でも, プロキシ経由の接続はできない.

Google によれば,

Step 1: Disable Access Point/AP isolation, also known as Client isolation or guest mode, on your router

Step 2: Enable UPnP (Universal Plug and Play) also known as Multicast on your router

https://support.google.com/googlehome/answer/7300406?hl=en

とのこと.

store.google.com

2018-06-18 月 追記 Amazon Echo も同様. 使うには, ファイアウォールで特定のポートを開ける必要があります.