OSを判定してiPhone Android Windowsごとにホームページを振り分ける コピペOK

JavaScriptを利用して判定する

jqueryをCDNから読み込み

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

ユーザエージェント文字列を取得

/* ユーザーエージェントの文字列を取得 */
var useragent = window.navigator.userAgent.toLowerCase();

文字列 iphoneを検索して場合分け

if (useragent.indexOf('iphone') != -1) {

ページを飛ばす

setTimeout("location.href='move/ios.html'",0);

全体的なコードはこんな感じです

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>OS判定</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>

<body>

<h1>OS判定のテスト</h1>
    <script>
        //  jqueryが動作しているか確認するのに合わせてOS判定テストを表示
        alert($("h1").text());
    </script>

<script>

    $(function() {
        /* ユーザーエージェントの文字列を取得 */
        var useragent = window.navigator.userAgent.toLowerCase();

        /* OSごとの条件分岐 */
        if (useragent.indexOf('iphone') != -1) {
            //iPhoneに適応させたい内容
	        setTimeout("location.href='move/ios.html'",0);
        } else if (useragent.indexOf('ipad') != -1 || useragent.indexOf('macintosh') != -1) {
            //iPadに適応させたい内容
	    	setTimeout("location.href='move/ios.html'",0);
	    } else if (useragent.indexOf('win') != -1) {
            //iPadに適応させたい内容
	    	setTimeout("location.href='move/windows.html'",0);
        } else if (useragent.indexOf('android') != -1) {
            if (useragent.indexOf('mobile') != -1) {
                //Android mobaileに適応させたい内容
                setTimeout("location.href='move/android.html'",0);
	        setTimeout("location.href='move/android.html'",0);
            } else {
                //その他デバイス(Androidタブレットなど)に適応させたい内容
	        	setTimeout("location.href='move/android.html'",0);
            }
        };

    });
</script>

</body>
</html>

あとは、move階層下に、各OSごとのhtmlファイルを作成しました。

ios.html

windows.html

android.html

OSの種類にしたがって、各ページが表示されます。

テスト状況

このページを、ウェブサーバにおいて動作確認するとこんな感じになります。

iPhoneでアクセスすると、ios.htmlに飛ばされます。

Windows Server の時刻がずれる ※一部の設定は組織によって管理されています

時刻を自動的に設定する

時刻を自動的に設定する

がオンになっているはずなのに、時間がどんどんずれてしまいます。

私の環境はWindows2019 Server Standard です。

この時刻を自動的に設定するは、オフにする事ができません。時刻を手動で合わせる事はできるのですが、だんだんずれてしまっていくので非常に不便です。

一部の設定が組織によって非表示になっているか、管理されています。

おそらく、このせいかと

「一部の設定が組織によって非表示になっているか、管理されています。」

こころあたりがあるのは、このサーバ、リモートデスクトップサービスを行っているのですが、その際に、「リモートデスクトップが60分で切断されてしまう」という憂き目にあい、調べるとドメインコントローラを構築していなかったからという事が分かって、後でドメインコントローラに昇格させたマシンだという事です。

コマンドから、NTPの設定を確認してみると

w32tm /query /configuration

C:\Users\Administrator>w32tm /query /configuration
[構成]

EventLogFlags: 2 (ローカル)
AnnounceFlags: 10 (ローカル)
TimeJumpAuditOffset: 28800 (ローカル)
MinPollInterval: 6 (ローカル)
MaxPollInterval: 10 (ローカル)
MaxNegPhaseCorrection: 172800 (ローカル)
MaxPosPhaseCorrection: 172800 (ローカル)
MaxAllowedPhaseOffset: 300 (ローカル)

FrequencyCorrectRate: 4 (ローカル)
PollAdjustFactor: 5 (ローカル)
LargePhaseOffset: 50000000 (ローカル)
SpikeWatchPeriod: 900 (ローカル)
LocalClockDispersion: 10 (ローカル)
HoldPeriod: 5 (ローカル)
PhaseCorrectRate: 7 (ローカル)
UpdateInterval: 100 (ローカル)


[タイム プロバイダー]

NtpClient (ローカル)
DllName: C:\Windows\system32\w32time.dll (ローカル)
Enabled: 1 (ローカル)
InputProvider: 1 (ローカル)
CrossSiteSyncFlags: 2 (ローカル)
AllowNonstandardModeCombinations: 1 (ローカル)
ResolvePeerBackoffMinutes: 15 (ローカル)
ResolvePeerBackoffMaxTimes: 7 (ローカル)
CompatibilityFlags: 2147483648 (ローカル)
EventLogFlags: 1 (ローカル)
LargeSampleSkew: 3 (ローカル)
SpecialPollInterval: 1024 (ローカル)
Type: NT5DS (ローカル)

NtpServer (ローカル)
DllName: C:\Windows\system32\w32time.dll (ローカル)
Enabled: 1 (ローカル)
InputProvider: 0 (ローカル)
AllowNonstandardModeCombinations: 1 (ローカル)

Type: NT5DS (ローカル)

NTPが、ドメインの階層でコントロールされている場合「Type: NT5DS」となります。さらに、NtpServer (ローカル) と表示されていますので、この人自身がNTP Serverになってしまってる。

NTPサーバが自分自身で、クライアントはローカルを向いているから、このマシンがずれてしまうと、そのままずれていってしまうんですね。

NTPサーバを変更する

時刻同期するNTPサーバを ntp.nict.jp へ変更します。

w32tm /config /manualpeerlist:ntp.nict.jp,0x8 /syncfromflags:manual /update

このコマンドを実行した後、

w32tm /query /configuration

として、構成を確認すると、

NtpServer 欄に ntp.nict.jp が表示されるようになりました。

[タイム プロバイダー]

NtpClient (ローカル)
DllName: C:\Windows\system32\w32time.dll (ローカル)
Enabled: 1 (ローカル)
InputProvider: 1 (ローカル)
CrossSiteSyncFlags: 2 (ローカル)
AllowNonstandardModeCombinations: 1 (ローカル)
ResolvePeerBackoffMinutes: 15 (ローカル)
ResolvePeerBackoffMaxTimes: 7 (ローカル)
CompatibilityFlags: 2147483648 (ローカル)
EventLogFlags: 1 (ローカル)
LargeSampleSkew: 3 (ローカル)
SpecialPollInterval: 1024 (ローカル)
Type: NTP (ローカル)
NtpServer: ntp.nict.jp,0x8 (ローカル)

時刻同期を手動実行する

時刻同期を手動で実行します。

w32tm /resync

コマンドを実行すると、時刻同期が始まります。

w32tm /resync
再同期コマンドをローカル コンピューターに送信しています
コマンドは正しく完了しました。

時刻同期がどのように行われたかを確認するコマンドは、

w32tm /query /status

です。

w32tm /query /status
閏インジケーター: 0 (警告なし)
階層: 2 (二次参照 - (S)NTP で同期)
精度: -23 (ティックごとに 119.209ns)
ルート遅延: 0.0210201s
ルート分散: 7.7404887s
参照 ID: 0x85F3EEF3 (ソース IP:  133.243.238.243)
最終正常同期時刻: 2022/09/20 5:43:16
ソース: ntp.nict.jp,0x8
ポーリング間隔: 6 (64s)

ntp.nict.jp は、IP:133.243.238.243 でした。

これで時刻同期完了です。

Windows11に対応していないPCにインストールする-8年前のWin8マシンLenovo Twistをアップグレードしてみた

Windows11の最小システム要件

出典 Windows 11 の仕様、機能、コンピューターの要件を確認する

プロセッサ 1 ギガヘルツ (GHz) 以上で 2 コア以上の64 ビット互換プロセッサまたは System on a Chip (SoC)

メモリ 4 ギガバイト (GB)。

ストレージ 64 GB 以上の記憶装置

システム ファームウェア UEFI、セキュア ブート対応

TPM バージョン 2.0

グラフィックス カード DirectX 12 以上

ディスプレイ 対角サイズ 9 インチ以上で 8 ビット カラーの高解像度 (720p) 

基本的に上記に対応していなければインストールできない

要件を満たしていない場合推奨できない

互換性の問題が発生するリスク

デバイスが正しく機能しない可能性

セキュリティ更新プログラムを含む更新プログラムを受け取ることが保証されない

なので、要件を満たしていない場合、セキュリティリスクがある事を承知してインストールする必要があります。

ここから先は自己責任です。

Win11のインストールイメージをダウンロードする

Windows11は、Microsoftのダウンロードページにてインストールイメージをダウンロードする事ができます。

このサイトの「Windows11ディスクイメージ(ISO)をダウンロードする」を選択します。

ダウンロードする容量は5.1GBありました。

Rufusで ISOファイルを展開してインストーラを準備

USBメモリにISOファイルを展開します。

私は32GBのKIOXIA製メモリを利用しました。

USBメモリに展開した後、Win11アップグレード要件を満たすかを確認するチェックプログラム(アプリケーション拡張)を削除します。私の場合は名前を変更しました。

appraiserres.dll → -appraiserres.dll

としました。

非対応PCをWin11にアップグレード

Win11へのアップグレード非対応PCに、上記で作成したUSBインストーラを差し込みます。今回はWin8マシンをそのままアップグレードしてみました。

USBメモリ内の「setup.exe」を実行します。

インストーラが立ち上がります。

ここで、セットアップでの更新プログラムのダウンロード方法の変更をクリックします。

「今は実行しない」をチェックして次へ

すると、ライセンス条項に進みます

最低要件を満たしているのかのチェックはなくそのままインストール準備完了です。

しばらく待つと、Windows11になりました。この手順の中でネットワーク接続をしておかないと、特にMicrosoftアカウントを問われる事もありませんでした。

WindowsUpdateを実行してみる

利用中、WindowsUpdateされずに、知らず知らずのうちにセキュリティリスクを背負うのは嫌ですよね。

WindowsUpdateしてみたところ、今のところ問題なくアップデートできました。

まとめ

Windows10のサポート期限も2025年と、あと2年ほどです。

Win11にアップグレード非対応のマシンでも、一応延命する事ができそうです。ISOファイルの中で、チェックプログラムをスルーするように、機能拡張を削除してしまう手順も、一度ISOファイルを作ってしまえば手軽に実行できそうです。

【解決】Hyper-V ネットワークが繋がらない時 Broadcom NetXtreme のせい?接続ポート間違ってない?

この前までつながっていたのに

この前まで、つながっていたHyper-V上のWindows11 ネットワークがつながらなくなっていまいました。イーサネットアダプタでIPアドレスを取得できなくなってしまいました。

DHCPでIPアドレスを取得できていたのに、IPを取得できなくなりました。

環境

サーバーOS: Windows2022 Std

サーバOSでは、ネットワークにつながっています。インターネット接続も可能です。

ゲストOS: Windows11

仮想スイッチ

外部ネットワークへ接続するための仮想スイッチは Broadcom NetXtreme Gigabit Ethernet です。サーバ側ではネット環境に接続できているのですが、ゲストOS側ではネットワークにつながらないという状態です。

仮想マシン上のネットワークアダプタは、Broadcom NetXtreme Gigabit Ethernet – Virtual Switchにつながっています。

仮想マシン上にて、ネットワークアダプタはHUBとつながっている状態にはなっているのですが、

識別されていないネットワークとなっています。

解決 ポートの刺し間違い

うちの環境では、Port1を利用しています。

Broadcom NetXtreme Gigabit Ethernet #2

です。

それなのに、仮想スイッチのプロパティで、外部ネットワークへの接続に Broadcom NetXtreme Gigabit Ethernetが使われていました。

これを、Broadcom NetXtreme Gigabit Ethernet #2 に変えたらあっけなく解決しました。

これには心当たりが。しばらくテスト運用している場所から、本環境に移す時にポートは意識していなかったので、LANケーブル刺しやすい方に刺したんじゃないかと。このせいでまさかHyper-Vに影響がでるなんて。

以下、Microsoftのドキュメントを元に設定変更した手順です。結果的に、以下の手順を踏んでも変化はありませんでした。

Broadcom NetXtreme 1 ギガビット ネットワーク アダプターを使用すると、仮想マシンのネットワーク接続が失われる

この記事では、Broadcom NetXtreme 1 ギガビット ネットワーク アダプターを使用すると、仮想マシンがネットワーク接続を失うという問題に対する解決策を提供します。

Broadcom NetXtreme 1 ギガビット ネットワーク アダプターを使用すると、仮想マシンのネットワーク接続が失われる

Broadcom NetXtremeに問題がある?

Microsoftのドキュメントの中に、Broadcom NetXtreme とHyper-Vの不具合が書いてありました。ドライバをアップデートする、もしくは、VMQを無効にする方法の記載がありました。

ホストOSのファームウェアをアップデート

ファームウェアとドライバのバージョンがアップデートがでていましたので、それぞれダウンロードしてアップデートします。

ファームウェアを更新しようとすると、このアップデートパッケージの方が、現在インストールされているバージョンよりも新しいけどインストールしますか?というメッセージが表示されました。

なんか、聞かれている事が当たり前のような気がして、ちょっと躊躇しましたが、アップデートしました。

ファームウェアのアップデート成功です。

更新には再起動が必要になります。

ホストOSのドライバをアップデート

Broadcom NetXtreme Gigabit Ethernet ドライバをアップデートします。

Windows 64ビット向けBroadcom NetXtremeイーサネット アダプター用ドライバー アップデート、21.4.2

無事にアップデート完了 214.0.0.0→ 214.0.0.1へ

ドライバ更新後再起動し、Hyper-Vにて、ゲストOSのWin11を起動しましたが状況は改善できませんでした。

ドライバは更新されましたが、問題は解決しませんでした。

各アダプターで VMQ を無効にする

ネットワーク アダプター ドライバーを更新して問題を解決できなかったので、

PS C:\Users\Administrator> Get-NetAdapterVmq

Name                           InterfaceDescription              Enabled BaseVmqProcessor MaxProcessors NumberOfReceiveQ
                                                                                                        ueues           
----                           --------------------              ------- ---------------- ------------- ----------------
NIC2                           Broadcom NetXtreme Gigabit E...#2 False   0:0              16            4               
NIC1                           Broadcom NetXtreme Gigabit Eth... False   0:0              16            4               



PS C:\Users\Administrator> Set-NetAdapterVmq -Name "NIC1" -Enabled $False

PS C:\Users\Administrator> Set-NetAdapterVmq -Name "NIC2" -Enabled $False

PS C:\Users\Administrator> 

ネットワークアダプタを削除してみる

もう一度追加してみます。

解決しませんでした。

古いFireタブレットを活用する

使わなくなった古いFireタブレットを有効活用する

amazonプライムデーで激安で購入したFireタブレットが2台あります。

もう、動作も遅いし、古くなったので利用していません。今回は、このFireタブレットを監視カメラ常時監視用のモニタとして再利用したいと思います。

端末は第5世代です。アカウント情報なども削除し、他の人に触られても問題ない状態に仕上げていきたいと思います。

端末リセット

まずは端末をリセットします。自分の個人アカウント情報が入っていると、amazonで勝手に誰かに購入されてしまうかもしれませんし。リセット時には、PINを入力する必要があります。

リセットすると、個人情報、amazonアカウント情報、ダウンロードしたコンテンツなど内部ストレージに入っているデータは全て削除されます。

アカウントなしで設定

リセット後設定をしていきます。

アカウント無しで設定するためには、コツがあります。無線設定のさい、そのまま無線LANを設定してしまうとアカウントの設定となります。

一度ネットワークを追加をタップし、戻ると「後で」ボタンが表示されますので、この状態で後でを選択するとアカウントの設定なしに続ける事が可能です。

後でをタップすると、Fireをセットアップせずに続行しますか?というメッセージが表示されます。

これでめでたくアカウント無しで設定が可能です。

Google Playをインストール

有限工房さんのサイトを参考にさせていただいます。有限工房さんありがとうございます。

FireタブレットにGoogle Playをインストールする方法【2022年版】

システムに関わる事なので、不測の事態もあります。インストールする場合は自己責任でお願いします。私が持っているタブレットは第5世代。必要なファイルは4種類となります。

https://www.apkmirror.com/apk/google-inc/google-account-manager/google-account-manager-5-1-1743759-release/google-account-manager-5-1-1743759-android-apk-download/

https://www.apkmirror.com/apk/google-inc/google-services-framework/google-services-framework-5-1-1743759-release/google-services-framework-5-1-1743759-android-apk-download/

https://www.apkmirror.com/apk/google-inc/google-play-services/google-play-services-21-15-15-release/google-play-services-21-15-15-020300-371058782-android-apk-download/

https://www.apkmirror.com/apk/google-inc/google-play-store/google-play-store-25-5-27-release/google-play-store-25-5-27-21-0-pr-375135971-2-android-apk-download/

ダウンロード先のapk mirrorについて

APK Mirror は、世界中の Android ユーザーがアップロードした Android アプリを配布しています。アプリの署名をチェックする機能が実装され、アプリが不正に改変されていないかを確認する事ができるようになっています。

Google LLC によって署名とあります。どこまで信用できるのかは分かりませんが、一応サイト上にあるapkファイルは開発元の署名が確認できているもの、つまり改ざんなどがされていないことが証明できるものを扱っているということです。

ダウンロードしたファイルを、インストールするためには不明ソースからのアプリのインストールを許可する必要があります。この辺が、上記ファイルをどれだけ信用するかにかかりますね。

悪意のあるファイルだってあるかもしれません。なのであくまで自己責任です。

インストールすると、Google Playが現れます。

Google Playもアカウント登録して普通に使えます。

監視カメラにTplinkのTapoを利用しています。Tapoアプリをインストールします。

無事に監視カメラをモニタする事ができるようになりました。

まとめ

だいぶ古い端末でしたが、リセットする事で余計なファイルが消え、タブレット自体の動きもよくなりました。

5,6年前に3,480円で購入したタブレットですが、まだまだ現役として利用できそうです。

SITEGUARDプラグイン画像認証の画像が表示されずログインできない!

SiteGuardプラグインの画像認証

セキュリティ強化のため、SiteGuradプラグインを利用して、管理者画面に入るために画像認証しています。

ところが、ある日から画像がちゃんと表示されなくなりました。

F5キーを押してリロードしても、Shift + F5してスーパーリロードしても状況は変わらず、これじゃ管理画面に入れないじゃないかと大変困った事になりました。

一度ログインボタンを押すと解決

すごく焦ったのですが、一度ログインボタンを押すと、その次からは画像がちゃんと表示されるようになりました。

管理画面に入れないと設定も変更できないのでとても焦る案件でした。

無事ログインできました。

デバイスは他のプロセスで使われています。デバイスにアクセスしているプロセスを停止してください。 ISOイメージが書き込めない

ISOイメージが書き込めない

Rufusでインストール用のISOイメージをUSBに書き込もうとしたら、

「デバイスは他のプロセスで使われています。デバイスにアクセスしているプロセスを停止してください。」

と表示されて書き込めなくなってしまいます。

エクスプローラーが悪さしているようです。自動再生でエクスプローラーが開いてしまうのが原因で、全てのメディアデバイスで自動再生 → オン になっているのをオフにしました。

自動再生機能

USBメモリーを接続したり、ドライブにDVDやCDをセットした際に、自動的にフォルダーが開いたり、特定のアプリが起動する設定が可能です。

今回は、USBのフォーマットが終わった時点で勝手にエクスプローラーが開くせいで、デバイスが使用中になり、それ以上の書き込みができずに失敗してしまうのが原因でした。

Microsoft Teamsの自動起動をやめたい メモリ節約

勝手に立ち上がるMicrosoft Teams

Win11にしたら、Microsoft Teamsが勝手に起動して困っていました。

タスクインジケータの中にあるアイコンを右クリックしても、自動起動を停止するオプションは出てこないので困っていたところです。

Microsoft Teamsを自動起動しないようにする

Windowsボタンを右クリックして設定をクリックします。

検索ボックスの中に「スタートアップ」と入力

するとスタートアップアプリの一覧が起動します。

この画面でスイッチをオフにすると、次回からスタートアップで起動しなくなります。良かった。

自動起動をやめるとメモリ節約に

利用しないアプリが起動していると、裏で何かしら処理をしているので、メモリを消費してしまいます。勝手に起動しているアプリケーションをそのままにした状態だと、53%メモリを消費しています。

私の場合、不要なアプリを自動起動しないようにしたら、10%ほどメモリ使用量が落ちました。

普段利用しないアプリは、自動起動させずに、必要な時だけ起動するようにした方が、メモリの使用効率は上がると思います。

デジタルサイネージを自作する 格安サイネージの設定手順

無料でというとちょっと大げさかもしれませんが、WordPressを利用すると、ほとんど費用をかけずにデジタルサイネージを構築する事ができます。

ちょっとオジサンたちにご説明する際には電子看板とお伝えしています。デジタルサイネージとお伝えしてもピンとこないみたいです。

デジタルサイネージの通常安いサービスを利用しても月額5,000円ほどの費用がかかりますが、WordPressを利用してホームページ形式でサイネージを設定する事で500円のレンタルサーバで無数にサイネージページを作成する事が可能です。

せっかくテーマの中でテーマフィルの内容を更新し、各支店のサイネージデータとしているところにテーマの更新が入ると、テーマファイルの内容はすべて削除されます。それは困ったものですので、テーマの更新通知は無効にします。

セキュリティ上の問題も出るかもしれませんが、一般公開するwebサイトでもないし、ま、いいかという感覚で。

テーマの編集 ⇒ function.php を開きます

最終行に以下を付け加えます

/*
** テーマファイルのアップデートを非通知
*/
remove_action( 'load-update-core.php', 'wp_update_themes' );
add_filter( 'pre_site_transient_update_themes', create_function( '$a', "return null;" ) );

全てのプラグインを削除します。必要なプラグインだけに絞る事で、セキュリティに関する不具合要因を少しでも軽減させておきます。

Smart Slider3によって、スライドを定期的に変えるようにします。このプラグインがポイントです。

社内的なサイネージの場合、外部の方にはあまり見て欲しくない情報もあります。その時にはこのPassword Protectedを利用します。サイネージは公に広く伝えたい時もあると思うので、その場合は必要ありません。

SSHでログインして、wp-contentの中のthemes/twentywixteenに入って、headerをコピーしてマスターを作成します。これは、1つのWordPressサイトで、複数種類のサイネージを稼働させるために必要です。1つのWordPressサイトに、1つのサイネージを作成するだけないら必要ありません。

twentysixteen]$ cp header.php header-.php

コピーしたheaderに、Smart Slider3のショートコードを配置。このheader.phpにSmart Sliderを設定する事で、サイトの一番上にスライダーを表示させる事ができます。

</head>

<body <?php body_class(); ?>>
<?php
echo do_shortcode('[smartslider3 slider=]');
?>
<div id="page" class="site">

配置する支店分のheaderマスターをコピーする

index.phpをコピーしてテンプレートを作成します。テンプレートマスターを作成しておくと、コピー後の作業を軽減する事ができます。

twentysixteen]$ cp index.php temp-.php
 */

get_header('01'); ?>

最下行にテンプレート名を設定できるようにする

<?php get_footer(); ?>

<?php
/*
Template Name: temp-01
*/
?>

headerマスターと、テンプレートマスターから支店分量産する。

twentysixteen]$ cp header-.php header-hokkaido01.php
twentysixteen]$ cp header-.php header-hakodate01.php
twentysixteen]$ cp temp-.php temp-sapporo01.php
twentysixteen]$ cp temp-.php temp-hakodate01.php

テンプレートマスターを支店用テンプレートにする

twentysixteen]$ vi temp-sapporo01.php

get_header('sapporo01'); ?>

-- 省略 --

<?php get_footer(); ?>

<?php
/*
Template Name: temp-sapporo01
*/
?>

twentysixteen]$ vi temp-hakodate.01.php

get_header('hakodate01'); ?>

-- 省略 --

<?php get_footer(); ?>

<?php
/*
Template Name: temp-hakodate01
*/
?>

Smart Slider3からスライドマスターを作成する

vimeoで動画作成した共通コンテンツを設定する

vimeoビデオが、自動的に再生されるようauto playにする。さらに、音が流れると困るので、muteする。

スティックPCで設定時、他の支店と間違えていないかを確認するためのスライドを作成する。emptyスライドにテキストレイヤーで支店名と記入する。

GENERAL設定

Slide background image fill を Fitにする

Background animation を Multiple animationsにする

AUTOPLAY設定

勝手にスライディングが始まるように設定し、1枚のスライドは1分で変わるようにする。

ムービーを自動再生中時間がきたら次のスライドに移行したい場合は、

Stop autoplay on のMedia startedをオフにします。下記設定は30秒経過したら、メディアがスタートしている状態ならautoplayを止めるという意味ですが、スイッチをオフにする事で、メディアがスタートしていても関係なく次のスライドへ移動します。

Arrows設定

マウスがホバーした時だけ、矢印を出し、自分が好きなスライドに移動できるようにする。

Autoplay設定

マウスがホバーした時に、一時停止・再生ができるようボタンを表示する

設定したらSAVEボタンを忘れずに

作成したマスターをコピーする

GENERAL設定で名前を変更

emptyスライド支店名変更

間違えないように作成したemptyslideの支店名を支店の名前に変更

変更したらSAVEボタンを忘れずに。支店数分繰り返し行う。

各支店用のスライダーIDを控えておく。

札幌01支店用のサイネージスライダーIDは3になったので、これを設定

<body <?php body_class(); ?>>
<?php
echo do_shortcode('[smartslider3 slider=3]');
?>
<div id="page" class="site">

いらないサンプルページは削除しておく。

各支店用に固定ページを作成し、テンプレートを割り当てる。

札幌01支店用の固定ページを作成し、札幌01用のテンプレートを割り当てる。

ここで、公開するとホームページとして確認可能になる。

万一、設定したクライアント側・サイネージ表示PCの調子が悪くなった時のためにリモートデスクトップ環境を整備しておきます。

私はソフトウェアVPNはPacketixを利用しています。

Packetix VPNのオープンソース版SoftEther VPNは、無償で利用が可能です。

http://ja.softether.org/

使いやすいOSでサーバ立てればいいのですが、私は少しでも安くあげたいので使い古したサーバにLinuxを入れて、この無償のVPNサーバを構築しています。

クライアントの設定を行うため、SoftEther VPNサーバ上に支店ごとのユーザを作成します。有償版のPacketix VPNでは電子証明書が利用できますが、SoftEhter VPNはパスワードしか利用できないので30文字くらいの長い文字列を作成してパスワードとしています。

LinuxにSoftEhter VPNを設定する方法はこちらに詳しく解説してあります。

Windowsリモートデスクトップは、Windows10 Proでないと利用ができません。OSも安く上げたいのでHomeEditionを利用しています。そこでリモートデスクトップするために、TightVNCを導入しています。

Screenshot of www.tightvnc.com

サイネージを表示するためのお勧めマシーンは、インテル製のスティックPC。ただ、ブラウザが動くOSなら何でも構いません。安い、もしくは古いパソコンでもOKです。

Compute Stick STK1AW32SC(中身はだたのWin10 PCです。)

Atom x5-Z8300(Cherry Trail)
メモリ2GB、eMMC:32GB、Intel(r) Wireless-AC 7265 + BT 4.2、
ファン有

Atom x系のCPUはそこそこ性能がいいので、動画再生時にカクカクしたりなどの問題は起きません。またファンもついているので冷却効果もあり、暴走してサイネージが止まるという事もありません。(ただ、過酷な環境下では条件変わると思います。)

CHUWI HeroBoxへ変更

2022/8 そろそろ、Compute Stickも手に入らなくなりサイネージに利用するミニPCを再選定しました。少し大きくなってしまいましたが、うちではCHUWIのHeroBoxを利用する事にしました。

また、Windows11に変更しています。

できるだけ設定の手間を省くためには、共通部分の設定をクローンしてしまうというのがミソです。様々なやり方があると思いますが、私はSymantec Ghost Suiteを利用しています。これは企業用でライセンスを購入しているもので複数台を同時に同じ状態にする事ができます。

イメージ作成した内容です。1台1台に共通な設定をするのは無駄なので、流し込んで一気にこの状態まで持っていきます。

WindowsUpdateを完了させる(これが、なかなか時間がかかる)
VNCアプリインストール(パスワードも決めておける)
Packetix設定(VPN 通信設定まで行う)
Google Chromeのインストール
Google ChromeURLの設定(ベースになるURLまで)
拡張機能 auto loginをインストール

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --start-fullscreen --app=techlive.tokyo


スタート画面からピン止めを外す
スクリーンキーボードをスタートにピン止め
集中モード アラームのみ
電源設定 バランス
ディスプレイの電源を切る 適用しない
ハードディスクの電源を切る なし
電源ボタンの操作 シャットダウン

クローン作業ではできない、1台1台に施さなければいけない作業です。

コンピュータ名の変更
PacketixVPN IPアドレスの試験
Google ChromeURLの設定(各支部用の設定にする)
Google Chromeスタートアップにショートカットコピー
PacketixVPN パスワードの設定

起動時スタートアップで、該当支部のサイネージが表示される(この際にパスワードが保存されている事)
VPN越しにVNC接続ができる

パスワードの保存を停止する
パソコンで Chrome を開きます。
画面右上のその他アイコン [設定] をクリックします。
下部の [詳細設定] をクリックします。
[パスワードとフォーム] で [パスワードを管理] をクリックします。

設定がオンになっているか確認

パスワード常に保存しないURLに登録されていないか確認

このスティックPC時々2画面認識になる事があります。なんでだろう。テレビの後ろにつけて1画面のみでしか運用していないのですが。(だって、HDMIポートも1つしかないし、物理的に2画面付ける事は不可能なのに。)

また、未解決です。