ホーム » メモ
「メモ」カテゴリーアーカイブ
Windows で Docker
Win11 環境での続き…
先日から NAS 環境でいろいろとやったので,ある程度すんなりできた.
dorowu/ubuntu-desktop-lxde-vnc を検索してインストール.
「dorowu/ubuntu-des…」を選択してインストール.
「RUN」して「Optional settings」を「↓」.
「Host port」に「60080」などと入力し「Run」.
「60080:80」のリンクをクリックするとブラウザが開く.
gcc などをインストール.
GLUT を使用したコードをビルドして動作することを確認.
Windows 10 homeでWSL2 + DockerDesktopでDocker環境を構築する手順
Comprehensive Guide to dorowu/ubuntudesktoplxdevnc:latest
Windows 11 + Docker + Linux開発の落とし穴
AIロボット入門2024:LXDEデスクトップ環境の使い方
【Docker】公式イメージでUbuntuデスクトップ構築手順
Windows で Docker ?
Ubuntu と同様に wsl ––install fedora で Fedora をインストールできた(この環境では既に入っている ).
Microsoft Windows [Version 10.0.26100.4349]
(c) Microsoft Corporation. All rights reserved.
C:\Users\Iwao\AppData\Local\Temp>wsl --install fedora
ダウンロードしています: Fedora Linux 42
インストールしています: Fedora Linux 42
指定された名前のディストリビューションは既に存在します。--name を使用して別の名前を選択してください。
エラー コード: Wsl/InstallDistro/Service/RegisterDistro/ERROR_ALREADY_EXISTS
C:\Users\Iwao\AppData\Local\Temp>
gcc や glut などもインストール.
2014/09 の GLUT のコードを,2019/09 に a.out にしたものがあった.
Fedora から参照できるようにして,起動するとうまく動いた.
ここまで特に何も考えないでやっていたが,Fedora 42 は最近になって WSL から簡単に利用できるようになったみたい.
Fedora in Windows Subsystem for Linux
WSL に標準で対応した Fedora 42 がリリースされたので試してみる(WSL 2 編)
WSL(Windows Subsystem for Linux)向けにFedoraディストリビューション登場
Windows で Fedora を実行する
How to install Fedora on WSL for Windows 10 and Windows 11
MicrosoftがWSLにFedora Linuxを追加、tarベース新アーキテクチャの採用でディストリビューション拡充へ
2025/06/13
同様に Ubuntu で GLUT 関係をやったが,freeglut3 がインストールできない.freeglut3-dev は可能.
wao@B660M:~$ sudo apt install freeglut3
[sudo] password for wao:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package freeglut3
wao@B660M:~$ sudo apt install freeglut3-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libegl-dev libgl-dev libgl1-mesa-dev libgles-dev libgles1 libglu1-mesa libglu1-mesa-dev libglut-dev libglut3.12
libglvnd-core-dev libglvnd-dev libglx-dev libice-dev libopengl-dev libopengl0 libpthread-stubs0-dev libsm-dev libx11-dev
libxau-dev libxcb1-dev libxdmcp-dev libxext-dev libxt-dev x11proto-dev xorg-sgml-doctools xtrans-dev
Suggested packages:
libice-doc libsm-doc libx11-doc libxcb-doc libxext-doc libxt-doc
The following NEW packages will be installed:
freeglut3-dev libegl-dev libgl-dev libgl1-mesa-dev libgles-dev libgles1 libglu1-mesa libglu1-mesa-dev libglut-dev
libglut3.12 libglvnd-core-dev libglvnd-dev libglx-dev libice-dev libopengl-dev libopengl0 libpthread-stubs0-dev libsm-dev
libx11-dev libxau-dev libxcb1-dev libxdmcp-dev libxext-dev libxt-dev x11proto-dev xorg-sgml-doctools xtrans-dev
0 upgraded, 27 newly installed, 0 to remove and 3 not upgraded.
Need to get 2970 kB of archives.
After this operation, 12.7 MB of additional disk space will be used.
Do you want to continue? [Y/n]
2019/09 の a.out は libglut.so.3 がないため実行できなかった.
GLUT を使用したコードは,Ubuntu 環境でビルドし直すことで起動できるようになった.
【初心者向け】WindowsにDockerをインストールする方法|Docker Desktop編
WSLg を使って Docker 上で GUI アプリを動かす(GPUサポート付き)
Synology NAS で Docker
QNAP NAS に入れた dorowu/ubuntu-desktop-lxde-vnc を Synology NAS に…
なかなか入り方がわからなかった.
「コンテナ」-「dorowu-ubuntu-desktop-lxde-vnc-1」-「全般」-「ポート」の値で開ける.
つまり,ブラウザで「http://192.168.1.22:32768」の様に入力すれば良い.
この画像は,デスクトップで起動した Firefox から Synology NAS の DSM を開いている.
Run Ubuntu Linux in Docker with Desktop Environment and VNC
ROS/ROS2のGUIをWebブラウザ経由でお手軽に試せるDockerfileを公開しました
dockerで手軽にLinuxデスクトップ環境を試せる!
【Docker】Ubuntuデスクトップ(dorowu/ubuntu-desktop-lxde-vnc)構築と接続手順
QNAP NAS で Docker
引き続き Docker の関係をいろいろと…
コンテナの「端末」を使用した操作はある程度わかったが,今度は GUI での操作.
Synology NAS でいろいろとやったが,よくわからず.そのため QNAP NAS で.
「Container Station」-「アプリテンプレート」で「Ubuntu Desktop with noVNC」を「デプロイ」.
「Container Station」-「コンテナ」で「ubuntu-desktop-lxde-vnc-1」の ↗ で起動できる.
これと同じようなことを Synology NAS で行ったが,デスクトップを開く方法までたどり着けなかった.
QNAP NASでDocker(Container Stationを使用)
QNAP NASでRedmineを動かす
QNAP NASのContainerSation(Docker)であとから環境変数を追加する
QNAPでDockerレジストリサーバの作成
TWSNMP FC を QNAP NAS の Docker で 動作させる
やっぱりDockerって便利 QNAP TS-453Aで数クリックで「Aipo」を動かす
QNAP の Docker を使ってみる
NAS で Docker …
以前から存在は知っていたが,あまり必要性を感じてはいなかった.
先日,ASUSTOR NAS の ADM の更新があり,Joomla! 3 などのサポートがなくなった.
それで,ちょっと調べてみることに…
保有している幾つかの NAS で Docker は使えるみたい.
が,検索して見つかるページはなかなか難しい.
いろいろと弄っていると…
Synology DSM デモサイトで「Container Manager」が動作する.
「Container Manager」を起動.
「レジストリ」を選択して「gcc」を検索,表示された「gcc」を「ダウンロード」.
「イメージ」で「gcc」を選択して「実行」.
「コンテナ」で「gcc-1」を選択して「端末を開く」.
Hello World を作成して g++ .
今度は「Ubuntu」を使用.「ダウンロード」して「実行」,「端末を開く」.
gcc などが入っていないので,次のコマンドを入力してインストール.
apt update
apt upgrade
apt install build-essential
apt install nano
コンパイルして,実行.
How to Use Docker & Container Manager on a Synology NAS
Synology NASのDockerパッケージでDocker Composeを使用する方法
Synology NAS でPortainerによるDockerコンテナ管理
NAS×Dockerでお手軽にLinux環境を作った話
QNAP の Container Station で Docker Compose を使ってみる
ASUSTOR NAS で Docker を使用する
Asustor nas でdockerを動かしてみる
Verify you are a human
先日から,スマートアプリコントロールを有効にした環境でもテストしている.
それで,ブロックされた exe などを次の所で提出し,対応している.
https://www.microsoft.com/en-us/wdsi/filesubmission
個人的なツール類をビルドして,msi を作成.
インストールしようとすると,ブロックされてしまう.
それでいつもの様に提出しようとしたが,昨日の夕方頃からファイルのアップロードができない.
何かの制限に引っかかった?
他のブラウザで試しても,特に変わらず.
2025/05/30 15:50
アップロードできるようになったことを確認.
ブロックも解除されてインストールできるようになった.
ASUSTOR NAS ADM 5.0.0.RH??
ADM の更新があったので,いつもの様に…
作業したのが夜中だったため,あまり考えないで「更新」してしまった.
前回の 4.0 に上げた時もそうだったが,そのままではいろいろと動作しなくなってしまった.
更新直後は,Web サーバすら起動できない状態だった.
これは「Nginx」に切り替えることで動作可能にはなった?
Joomla! 3 はサポートされなくなり「Joomla!-Docker」になった.
Joomla! は起動するようになったが,管理者として入る方法がわからず.
WordPress と VirtualBox は,最初の Web サーバと同様の Error 500 .
Linux Center は動作している.
2025/05/28
ADM 5.0.0.RHN2 への更新版があり,アップデート.
あまり変わらず?
2025/06/10
「App Central」の「インストール済み」を見ていて「X_VNCserver」をインストールしていたことを思い出した.
当時は使い方がわからず「OFF」になっていたがこれを「ON」に.
NAS の IP で開くと「ASUSTOR ポータル」が開いた.
その中に「VirtualBox」があり,そこから起動できた.
VS 2022 Application Error
先日,VS 2022 の更新があった.
その影響なのかはわからないが,あるソリューションを開くと起動してしばらくして,終了してしまう様になった.
他のソリューションは問題ない.
イベントビューアではアプリケーションエラーとして記録されている.
アプリケーション:devenv.exe
フレームワークのバージョン:v4.0.30319
説明: ハンドルされない例外のため、プロセスが中止されました。
例外情報:例外コード c0000005、例外アドレス 00007FF88908246C
障害が発生しているアプリケーション名: devenv.exe、バージョン: 17.14.36109.1、タイム スタンプ: 0x681e2a3e
障害が発生したモジュール名: vcpkg.dll、 バージョン: 17.0.36109.1、タイム スタンプ: 0x6a2b7313
例外コード: 0xc0000005
フォールト オフセット: 0x000000000029246c
フォールト プロセス ID: 0x60C4
アプリケーションのフォールトの開始時刻: 0x1DBC9F9DD979C26
Faulting アプリケーション パス: C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\devenv.exe
Faulting モジュール パス: C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\VC\vcpackages\vcpkg.dll
Report Id: 0763b126-40a9-4482-ad33-d32e7ebe72a2
とりあえずメモ.
対象の .vs 以下を削除したが変わらず.
_FallBck や SymbolCache も削除したが,当然変わらず.
さらに絞って,ソリューションに FindB143.vcxproj を追加すると,数秒後終了してしまうことがわかった.
VS 2019 では FindB142.vcxproj を含むソリューションも問題ない.
2025/05/22 17.14.1 へのアップデートがあったが,変わらず.
2025/05/28 17.14.2 で対応された.
Win11-VS6 22H2
仮想マシンの Win11-VS6 .
幾つかの同様の仮想マシンは 24H2 になったが,なぜかこの環境は 22H2 のままだった.
ISO を利用してインストールすれば良いのはわかっているが,他の方法がないものかと思い,いろいろと…
Windows Update のバージョンを指定しても更新版は表示されなかった.
次の所を見ると “gpupdate /force” と入力するとあり,なぜか 22H2 が表示された.
機能更新プログラムが Windows Update に表示されない時の対処法
ダウンロードが終わり,インストール中…
再起動後,Windows Update に入ると 24H2 があり,ダウンロード中…
24H2 に更新できた.
Windows11(21H2,22H2)・Windows10(22H2)「サービス終了のお知らせ」表示の対応方法と注意点
Windows 11 23H2で「サポート終了」と誤って表示されるバグが出現
お使いのWindowsはサービス終了を迎えました?
Parallels Desktop 19で使ってるWindows11のアップデートが降りてこなくて焦った(解決)
Parallels DesktopでWindowsのアップデートが降ってこなかった
「ターゲット機能更新プログラムのバージョンを選択する」ポリシー、20H2 は〇、2009 は×
start mailto:test@example.com
新しい Outlook では MAPI サポートがなくなった?
新しい Outlook で使用できない機能: 拡張性
新しい Outlook と従来の Outlook の機能の比較
そのため,テンポラリに zip として圧縮して,それを手動で起動したメールソフトに添付して利用している.
これをもう少し簡単にできないかと…
思いついたのは,どこかにアップロードして,そのリンクからダウンロードする方法.
3D ツール
https://itl.mish.work/i_Tools/upload/share/data/Iwao-index-2025-04-21.htm
最近あまり見なくなったように感じるが,次の様な html でのリンクがある.
mailto:test@example.com
これを何とか呼び出せないか?
エクスプローラのアドレス欄に “mailto:test@example.com” と入力すると,メールソフトが起動できる.
コマンドプロンプトで試すと,”start mailto:test@example.com” と入力することで同様にできた.
::ShellExecute では lpFile に指定することで同じように起動できる.
::ShellExecute で次の様に指定すると,「件名」と「本文」にそれぞれ “Hello” と “body” が入って起動できる.
“mailto:test@example.com?Subject=Hello&body=body”
コマンドプロンプトでは最初うまく起動できなかった.
start コマンドを調べると,省略可能な title があり,それを “” の様に空にして指定して意図した動作となった.
Windowsコマンドプロンプトの「start」コマンドを徹底解説:基本から応用まで
exe に自己署名証明書
先日から「スマート アプリ コントロール」に関していろいろやっている.
多くの exe はうまく起動するようになったみたいだが,まだブロックされてしまうものがある.
それで,自己署名証明書について調べた.
検索すると次のようなページが見つかる.
コード署名用証明書と Visual Studio での署名設定
自己証明書を作成して実行ファイルに署名する
自作ソフト「exe」への自己署名 VisualBasic
が,詳しく書かれているため,簡単に手順をまとめたものが欲しかった.次の所に書かれている.
テストや社内使用のために独自の証明書を作成する
そこに書かれていることと同じだが…
1. makecert.exe で cer と pvk を作成.
2. pvk2pfx.exe で cer と pvk から pfx を作成.
3. signtool.exe で pfx を exe などに追加.
4. インストール先に cer を登録.
"C:\Program Files (x86)\Windows Kits\10\bin\x86\makecert.exe" -r -sv MyCert.pvk -n "CN=DevABC" MyCert.cer -b 01/01/2025 -e 01/01/2100
"C:\Program Files (x86)\Windows Kits\10\bin\x86\pvk2pfx.exe" -pvk MyCert.pvk -pi test -spc MyCert.cer -pfx MyCert.pfx -po test
"C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe" sign /fd SHA256 /f MyCert.pfx /p "test" ClipView.exe
これでこの exe も起動できるようになった.
VirusTotal 自己署名証明書 なし あり
2025/03/12
何かを間違えたのか,自己署名証明書を追加した msi のインストールがうまく動作しない.
オリジナルの iTls143.msi 2024/12/16 17:24:28 ならば OK .
2025/03/13
昨日うまく動作しなかった msi も,今日は大丈夫になった.
が,「修復」を選択した場合は相変わらず…
一度「削除」して,新規にインストールする手順であれば OK .
2025/03/14
exe の場合,最後に 1344 バイト付加されている.
Windows向けソフトウェアのコードサイン証明書の署名方法
exeファイルと証明書を作成してデジタル署名を付与してみる
検証用コードサイニングEXEと無署名EXE
Red Sift Certificates Lite
先日から次の様なメールが来ている.
Let’s Encrypt からの有効期限の通知を終了するというもの.
https://letsencrypt.org/2025/01/22/ending-expiration-emails/
最近は NAS 側での自動更新がうまく働いてはいる.
が,念のためそこに書かれている Red Sift での設定を行った.
Google アカウントで「Sign up」.
「ADD DOMAIN」で登録することにより,ここで監視されるようになる.
2D 配列の配列の ::PolyPolygon
2 年位前に書いた,2D 配列を表示するコード.
BOOL PolyPolygon (HDC hDC,const v_Vd2A& v_v2a)
{
std::vector <POINT> points ;
std::vector <int> counts ;
for (size_t index=0 ; index<v_v2a.size() ; index++) {
const Vd2A& v2a = v_v2a[index] ;
for (size_t p_index=0 ; p_index<v2a.size() ; p_index++) {
Vd2 vd2 = v2a[p_index] ;
POINT pt2 = { long(vd2.x) , long(vd2.y) } ;
points.push_back(pt2) ;
}
counts.push_back(int(v2a.size())) ;
}
return ::PolyPolygon(hDC,&points[0],&counts[0],int(counts.size())) ;
}
それ以前は,コンソール AP で DC を使うことを考えてなかった.
また最近は,コンソール AP での GDI 描画もしていなかった.
今やろうと思っていることで,個人的なコードを調べていて
{
HWND hWnd = ::GetConsoleWindow() ;
{
vv_PLF d_plf = vvplf ;
{
d_plf = ::PLF_Translate(d_plf,Vd3(200)) ;
}
::ClearWindow(hWnd) ;
HDC hDC = ::GetDC(hWnd) ;
{
v_Vd2A v_v2a = ::ToVd2A(d_plf) ;
::PolyPolygon(hDC,v_v2a) ;
}
::ReleaseDC(hWnd,hDC) ;
}
}
こんな感じで使える.
WebGL での 3D データ表示
やりたかったのは,三角形分割で正しくできたかどうか?
Vd3A v3a = ::ToVd3A(pts) ;
{
Vd3 nv = ::V3_GetNormal(v3a) ;
std::tout << nv.Length() << std::endl ;
}
{
v_Vd3A t_a = ::V3_Triangulation(v3a) ;
Vd3 n_v ;
for (size_t index=0 ; index<t_a.size() ; index++) {
Vd3A tri = t_a[index] ;
Vd3 tnv = ::V3_GetNormal(tri) ;
n_v += tnv ;
}
std::tout << n_v.Length() << std::endl ;
}
レジストリに文字化けしたキー
先日から CDocManager::RegisterShellFileTypes 関係を調べている.
以前やった時は,MFC に依存した自前のコードが多かったのと,もう少し使いやすくできないかと…
それでいろいろとやっていると,レジストリの HKCU\Software\Classes\ の下に文字化けしたものができてしまった.
REG_SZ の (ext)_auto_file となっている.
これは,ドキュメントをダブルクリックして「常に使う」を選んだ時と思うが,はっきりしない.
Win10 環境でも同様?
レジストリの直接編集によるファイルの拡張子と関連づけ
Windows 11とレジストリに非ASCII文字を利用するアプリに非互換問題 ~BSoDが発生
特定のレジストリ キーを削除できません。キーの削除中にエラーが発生する
Win11 コンソール AP で DC
今まで Win10 をメインで使用していたので気づかなかったが…
Win10 でうまく使えていた GDI の描画が Win11 ではうまく行われない?
どうも,デフォルトの設定では新しい「ターミナル」が使用されることによるみたい.
ターミナルの「設定」から入って「Windows コンソール ホスト」を選択して「保存」する.
error LNK2001: unresolved …
空のコンソール AP プロジェクトを作成して,_tmain を含む cpp を追加してビルドすると
--------------------Configuration: t_MBP - Win32 Debug--------------------
Linking...
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
c:\Temp\MBP\t_MBP\Debug.060/t_MBP.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
t_MBP.exe - 3 error(s), 0 warning(s)
この cpp では MFC を使用しているので,「共有 DLL で MFC を使用」に変更する.
他の PC からの再起動
先日から Win10 PC が突然フリーズする現象が発生する様になった.
仮想メモリの設定を自動にしてからは,画面が突然止まってしまう.
マウスやキーも入らない.「Num Lock」を押してもランプは変わらない.
ディスクアクセスのオレンジのランプはアクセスに応じて点滅している.
他の PC から,共有ファイルなどは見える.
「電源ボタン」で休止状態となる様に設定したが,反応はしない.
NAS を含む Linux であれば,SSH 接続して reboot コマンドなどが使用できる.
検索すると幾つか方法がありそう.
* リモートデスクトップ
* shutdown コマンド
* Power Shell の Restart-Computer コマンド
Windows 系OS で、リモートシャットダウンを設定する
パソコンをリモートでシャットダウンまたは再起動する方法は?
他のコンピュータをシャットダウンまたは再起動する方法
リモートデスクトップでの操作は期待できないが,取りあえず設定した.
コマンドによる操作は,対象 PC 上ではうまく機能するが,別の PC からはうまく機能しない.
SSH 接続でもうまくいかない.
結局 SSH 接続する時のアカウントに管理者権限を与えて,そこから shutdown /r /t 300 とすることでうまくいった.
これで目的を達するかの確認は,次にフリーズした時なのでまだ何とも言えない.
Mouse without Borders
先日,Win11 24H2 で調べていた時に見つけた「Mouse without Borders」.
以前は,切替器を使用していた頃もあったが,最近は VNC 接続にしているで必要なくなっていた.
ただ,一つ問題が… VNC 接続のため?「半角/全角」を切替えた直後のキーがうまく入らない.
Win10 と Win11 のそれぞれに「Mouse without Borders」をインストール.
デフォルトの設定のまま,1 週間ほど使用した.
キーはうまく入ることが確認できた.
時々,ホストのタスクバーの「VS」のアイコンが押されてしまい,VS 2017 や 2019 が起動してしまう.
幾つかの設定を変更して,しばらく様子見.
Win11 24H2 対応 ユーザの追加
先日 24H2 をいろいろ調べた時「ゲストログオンを有効にする」ことで対応した.
が,それではセキュリティの問題があるため改めて調べてみた.
それで検索してみたが,わかりやすいページがあまり見つからず,私の環境での設定をまとめた.
画像は仮想マシンで Win10 Home と Win11 Pro 24H2 を用意してのもの.
サーバ側が Win11 の場合も同様に操作します.
サーバ側 Win10-Home
「スタート」をクリックして「user」と入力.「他のユーザーの追加、編集、削除」を選択.
うまく開けない場合は「設定」-「アカウント」から入ります.
「他のユーザー」の「その他のユーザーをこの PC に追加」を選択.
「Microsoft アカウントを持たないユーザーを追加する」をクリック.
共有アクセスするためのユーザー(ここでは “cad” )を追加.この時,必ずパスワードを設定すること.
クライアント側 Win11-24H2
「スタート」をクリックして「shikaku」と入力.「資格情報マネージャー」を選択.
「Windows 資格情報」を選択.「Windows 資格情報の追加」をクリック.
「サーバー名」,「ユーザー名」,「パスワード」を入力して「OK」.
これで \\Win10-Home としてアクセスできる様になる.
Win11 24H2 インストール
Win11 24H2 に上げた環境で,あるパッケージの 2021版での不具合が発生.
最新版にすることでうまく動作する様になったようだが,原因が絞れ切れない.
そのため仮想環境の Win11 21H2 を更新することに.
最初,更新しようとしても Win11 に対応していないと弾かれた.
原因は,仮想マシンを作成したのが VirtualBox 6.1 で TPM 2.0 になっていなかった.
Insider Program に参加したりしてみたが 23H2 までしか上げられなかった.
結局 24H2 の ISO を手に入れ,仮想マシンにマウントしてインストール.
不具合の現象を再現できた.
更に調べると VC 2005 でビルドした exe がうまくない様子.同じコードを 2015 以降でビルドしたものは問題ない.
VC 2008 ,2010 ,2012 ,2013 でビルドして試すと,2005 と 2008 がうまくないことがわかった.
他に 24H2 に更新したことにより,Win10 の共有ドキュメントに接続できなくなってしまった.NAS は OK .
2024/10/26
Win10 の共有ドキュメントに接続できなくなったことへの対応は,Win10 Ent の 2021/11 の時と同じ.
「ゲストログオンを有効にする」必要がある.
Windows11にアップグレード後、ネットワーク上の共有フォルダにアクセスできなくなった。
Windows 11 23H2 から 24H2 に更新するべきか?
Windows11 24H2を今すぐダウンロードしてアップデートする方法
2024/11/15 ゲストログオンを有効にしない共有アクセス用のユーザを追加しての対応方法