ホーム » メモ (ページ 4)
「メモ」カテゴリーアーカイブ
ドキュメント付きの起動で抜ける?
個人的なコートでのメモです.
普通に exe を起動してドキュメントを開くのは問題ない.
ドキュメント付きで起動すると,ウィンドウが表示されて,ドキュメントを読込み後終了してしまっている.
デバッガで追いかけると,ProcessShellCommand の呼び出しで FALSE となっている.
原因は,ドキュメントの読込み後にアプリケーションクラスにアクセスしている所で初期化が済んでないため.
初期化のコード(RcntFM)を CCommandLineInfo の前にして対応.
// メイン MDI フレーム ウィンドウを作成 CMainFrame* pMainFrame = new CMainFrame; if (!pMainFrame->LoadFrame(IDR_MAINFRAME)) return FALSE; m_pMainWnd = pMainFrame; // ドラッグ/ドロップ オープンを許可します m_pMainWnd->DragAcceptFiles(); { RcntFM.Read() ; RcntFM.SetStartID(ID_RECENT_FILE_00) ; } // DDE、file open など標準のシェル コマンドのコマンドラインを解析します。 CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); if (cmdInfo.m_nShellCommand == CCommandLineInfo::FileNew) { cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing ; } // コマンドラインでディスパッチ コマンドを指定します。 if (!ProcessShellCommand(cmdInfo)) return FALSE;
これをやっていて困ったのが,ソースのタイル表示.
VS 2019 ではうまく動作するが,2017 など他のものではエラーになってしまう.
--------------------------- GLSm140: devenv.exe - アプリケーション エラー --------------------------- 0x000000006359C044 の命令が 0x0000000000000000 のメモリを参照しました。メモリが read になることはできませんでした。 プログラムを終了するには [OK] をクリックしてください プログラムをデバッグするには [キャンセル] をクリックしてください --------------------------- OK キャンセル ---------------------------
#pragma message ( … (value) )
FBX SDK を使用したプロジェクトで,コンパイル時 FBX SDK のバージョンを表示したくなった.
FBX 2013.3 SDK 位からは FBXSDK_VERSION_STRING が使える.
#ifdef FBXSDK_VERSION_STRING #pragma message ("FBXSDK_VERSION " FBXSDK_VERSION_STRING) #endif
それより古い場合に,コンパイルオプションで FS_VER=201100 などと指定する様にした.
考え方や動作は意図した通りになったが,この FS_VER を表示できないものかと…
検索すると VC では _CRT_STRINGIZE が使えるとあった.
コンパイル時に#defineの値を表示するにはどうすればよいですか?
#ifdef FS_VER #pragma message ("FS_VER " _CRT_STRINGIZE(FS_VER)) #endif
_CRT_STRINGIZE は …\VC\include\crtdefs.h や …\VC\include\vcruntime.h に定義されている.
古い VC などでも使える様に…
#ifndef __CRT_STRINGIZE #define __CRT_STRINGIZE(Value) #Value #endif #ifndef _CRT_STRINGIZE #define _CRT_STRINGIZE(Value) __CRT_STRINGIZE(Value) #endif
CListBox などのオーナードロー
リストスクロール時,動作が逆に見える現象の調査のため調べたこと.
WinCore.cpp CWnd::OnMeasureItem での CtlType の値
/* * Owner draw control types */ #define ODT_MENU 1 #define ODT_LISTBOX 2 #define ODT_COMBOBOX 3 #define ODT_BUTTON 4 #if(WINVER >= 0x0400) #define ODT_STATIC 5 #endif /* WINVER >= 0x0400 */
/* * Listbox Styles */ #define LBS_NOTIFY 0x0001L #define LBS_SORT 0x0002L #define LBS_NOREDRAW 0x0004L #define LBS_MULTIPLESEL 0x0008L #define LBS_OWNERDRAWFIXED 0x0010L #define LBS_OWNERDRAWVARIABLE 0x0020L #define LBS_HASSTRINGS 0x0040L #define LBS_USETABSTOPS 0x0080L #define LBS_NOINTEGRALHEIGHT 0x0100L #define LBS_MULTICOLUMN 0x0200L #define LBS_WANTKEYBOARDINPUT 0x0400L #define LBS_EXTENDEDSEL 0x0800L #define LBS_DISABLENOSCROLL 0x1000L #define LBS_NODATA 0x2000L #if(WINVER >= 0x0400) #define LBS_NOSEL 0x4000L #endif /* WINVER >= 0x0400 */ #define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
// Measure item implementation relies on unique control/menu IDs void CWnd::OnMeasureItem(int /*nIDCtl*/, LPMEASUREITEMSTRUCT lpMeasureItemStruct) { if (lpMeasureItemStruct->CtlType == ODT_MENU) { // ... } else { CWnd* pChild = GetDescendantWindow(lpMeasureItemStruct->CtlID, TRUE); if (pChild != NULL && pChild->SendChildNotifyLastMsg()) return; // eaten by child } // not handled - do default Default(); }
GetDescendantWindow で求めた pChild が NULL のため CListBox::OnChildNotify から MeasureItem が呼ばれない?
呼ばれた時の lpMeasureItemStruct->itemHeight は,ODT_LISTBOX は 18 ,ODT_COMBOBOX は 20 .
デバッガで高さを設定すると,その高さになる.
OWNERDRAWVARIABLE は項目ごとに呼ばれるが,OWNERDRAWFIXED の時はうまくない?
結局,VC 6 などの場合にそうなる(逆にスクロール)様子.
コモンコントロール Ver.6 を使う様にすることで回避できる.
VC 6 exe などの場合は (VC6_app).exe.manifest ファイルを用意する.
視覚スタイルを有効にする
std::vector のコピーで実行時エラー
std::vector のデータ vf3a をコピーしようとして実行時エラー.
--------------------------- Microsoft Visual C++ Debug Library --------------------------- Debug Assertion Failed! Program: c:\Temp\Test\T_gonsa\T_cmb_f\debug.080\T_cmb_f.exe File: c:\program files (x86)\microsoft visual studio 8\vc\include\vector Line: 741 Expression: vector subscript out of range For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts. (Press Retry to debug the application) --------------------------- 中止(A) 再試行(R) 無視(I) ---------------------------
原因は vf3a のサイズが 0 .
vf3a.size() が 0 より大きい時のみコピーする様に変更しなければならない.
inline v_u__8 To_v_u__8 (const Vf3A& vf3a)
{
v_u__8 data ;
{
size_t vCount = vf3a.size() ;
u_16 vf3_size = u_16(sizeof(float)*3*vCount) ;
data.resize(sizeof(u_16)+vf3_size) ;
{
::MemMove(&data[0],sizeof(u_16),&vCount,sizeof(u_16)) ;
}
if (vCount > 0) {
::MemMove(&data[2],vf3_size, &vf3a[0],vf3_size) ;
}
}
return data ;
}
3D データの読み書きの時間
3D データを保持するために,幾つかの形式での読み書きの時間を計測.
bool T_s_a_l (const GonsA& gnsa_,LPCTSTR pathName) { GonsA gnsa = gnsa_ ; double slt = 0 ; double s_t = 0 ; double l_t = 0 ; { // save ElapseTime et ; ::GonsA_To(gnsa,pathName) ; s_t = et.GetElapse() ; } { // load ElapseTime et ; GonsA ga = ::To_GonsA(pathName) ; l_t = et.GetElapse() ; } { slt = s_t + l_t ; } std::tout << ::Path_GetExtLow(pathName) << _T("\t") << slt << _T("\t") << l_t << _T("\t") << s_t << std::endl ; return true ; }
file ? =\\DS116\public\...\123test-layer2\123test-layer2.3ds ac 1.192 0.711 0.481 imo 4.206 3.195 1.011 x3d 2.213 0.461 1.752 wrl 0.831 0.55 0.281 3ds 0.571 0.37 0.201 ix3 1.853 1.092 0.761 ply 3.114 1.852 1.262 nxr 1.623 0.812 0.811 stl 0.2 0.15 0.05 ipl 4.947 4.436 0.511 file ? =\\DS116\public\...\123test-layer2\123test-layer2.3ds ac 1.202 0.711 0.491 imo 4.016 3.065 0.951 x3d 0.751 0.461 0.29 wrl 0.871 0.601 0.27 3ds 0.511 0.291 0.22 ix3 1.792 1.021 0.771 ply 3.145 1.923 1.222 nxr 1.512 0.701 0.811 stl 0.2 0.15 0.05 ipl 4.867 4.346 0.521 file ? =\\DS116\public\...\9LM-2U-J8F8B-3DLJ.001\9LM-2U-J8F8B-3DLJ.stl ac 16.214 9.504 6.71 imo 100.935 93.545 7.39 x3d 10.004 6.129 3.875 wrl 12.849 9.073 3.776 3ds 27.149 0.301 26.848 ix3 72.023 38.485 33.538 ply 77.751 62.049 15.702 nxr 21.912 9.974 11.938 stl 31.345 30.784 0.561 ipl 1893.04 1886.52 6.519 file ? =\\AS5202T\Home\gcc_test\Test\t_linux\3D\T_s_a_l\n2950x2450mm.dae ac 1.011 0.551 0.46 imo 2.624 2.013 0.611 x3d 1.031 0.33 0.701 wrl 0.772 0.511 0.261 3ds 0.881 0.511 0.37 ix3 2.053 1.182 0.871 ply 2.543 1.502 1.041 nxr 1.443 0.471 0.972 stl 0.41 0.35 0.06 ipl 19.458 18.917 0.541 file ? =\\AS5202T\Home\gcc_test\Test\t_linux\3D\T_s_a_l\n2950x2450mm.dae ac 1.012 0.551 0.461 imo 2.613 2.023 0.59 x3d 0.751 0.33 0.421 wrl 0.731 0.47 0.261 3ds 0.841 0.421 0.42 ix3 2.063 1.172 0.891 ply 2.623 1.652 0.971 nxr 1.593 0.491 1.102 stl 0.41 0.35 0.06 ipl 18.267 17.746 0.521 file ? =\\AS5202T\Home\gcc_test\Test\t_linux\3D\T_s_a_l\133118.x3d ac 18.266 8.762 9.504 imo 55.18 45.175 10.005 x3d 19.888 6.799 13.089 wrl 19.268 14.681 4.587 3ds 15.172 3.165 12.007 ix3 48.259 24.765 23.494 ply 69.459 38.655 30.804 nxr 21.321 6.74 14.581 stl 15.943 15.102 0.841 ipl 1290.08 1282.34 7.741
* この結果は私のコードでの時間で,一般的なコードとは異なると思う.
2020/11/11
'\\testxp\documents\Develop\VC_Test\T_gonsa\T_cmb_f' file ? =\\Z170S0\Temp\i_Tools.tmp\T_cmb_f\20201111\133118.x3d x3d 9.422 5.203 4.219 ipl 303.235 296.594 6.641 wrl 8.016 3.266 4.75 ix3 22.766 8.329 14.437 stl 5.687 5.265 0.422 ply 32.875 17.844 15.031 3ds 5.204 1 4.204 ac 7.733 4.062 3.671 mqo 165.907 162.438 3.469 nxr 11.812 5.047 6.765 imo 26.437 19.484 6.953 ipl 20.437 9.25 11.187 ply 34.625 13.844 20.781 stl 3.359 0.922 2.437 x3d 89.297 30.25 59.047 mqo 47.781 0 47.781 nxr 108.609 43.046 65.563 ix3 294.405 171.546 122.859 wrl 99.313 54.297 45.016 ac 56.454 12.922 43.532 imo 3057.28 3007.03 50.25 3ds 189.515 117.265 72.25 ipl 418.797 407.344 11.453 ix3 27.75 8.078 19.672 ply 43.546 23.093 20.453 x3d 20.391 7.485 12.906 ac 15.406 6.453 8.953 nxr 13.173 5.313 7.86 stl 6.656 5.125 1.531 wrl 13.767 7.282 6.485 imo 52.499 37.187 15.312 mqo 304.547 294.406 10.141 3ds 9.313 1.172 8.141 file ? =
MFC コントロールのサブクラス化
今まで CWnd::SubclassDlgItem を使ってきたが,DDX_Control も同じ様なことをしているのではと思い調べてみた.
リストボックスをサブクラス化した時の OnInitDialog でのコード.
{ m_CtrlListFolder.SubclassDlgItem(IDC_LIST_FOLDER,this) ; m_CtrlListFolder.Init() ; m_CtrlListFolder.ResetContent() ; m_CtrlListFolder.SetItemHeight(30) ; }
IDC_LIST_FOLDER は,オーナードローリストボックス.
Inside Visual C++ や MFC による Windows 95 プログラミング を参考にしたと思う.
MFC のバージョンが上がると少しずつ変更が加わっている.
ソースは DlgData.cpp .VC 11 からは WinCore2.cpp .
MFC のソースは難しい.
かなり前の MSDN で次の内容を見つけた.
[MSVC] MFC を使用しての動的サブクラス化
DDX_Control でもいけそうな気もするが,…
C++ 継承でのエラー C2660
元々一つのクラスとしていたが,それを分割した時のエラー対応のメモ.
bool D_Image::Draw (HDC hdc,const RECT rect) { if (GetDocPath().empty()) { return false ; } { if (::Path_GetExtLow(GetDocPath()) == _T("emf")) { return E_MetaF::Play(hdc,GetDocPath().c_str(),rect) ; } } if (HBMP == NULL && HICN == NULL) { // ... } if (HBMP != NULL) { return ::Bitmap_Draw(hdc,rect,HBMP) ; } else if (HICN != NULL) { return ::Icon_Draw (hdc,rect,HICN) ; } return false ; } bool D_Image::Draw (HWND hwnd) { if (GetDocPath().empty()) { return false ; } if (hwnd == NULL) { return false ; } RECT rect = { 0 } ; ::GetClientRect(hwnd,&rect) ; bool result = false ; { HDC hdc = ::GetDC(hwnd) ; result = Draw(hdc,rect) ; ::ReleaseDC(hwnd,hdc) ; } return result ; }
この E_MetaF::Play の部分を分離.
class D_I_E : public D_Image { public: virtual bool Draw (HDC hdc,const RECT rect) { if (GetDocPath().empty()) { return false ; } { if (::Path_GetExtLow(GetDocPath()) == _T("emf")) { return E_MetaF::Play(hdc,GetDocPath().c_str(),rect) ; } } return D_Image::Draw(hdc,rect) ; } } ;
この状態で変数の宣言を D_I_E として呼び出している所でエラー.
Sel_doc.Draw(this->GetSafeHwnd()) ; // Sel_doc.D_Image::Draw(this->GetSafeHwnd()) ;
--------------------構成: T_DImage - Win32 Debug-------------------- コンパイル中... T_DI_Dlg.cpp \\TestXP\Documents\Develop\VC_Test\Test\etc\EnhMetaF\T_DImage\T_DI_Dlg.cpp(186) : error C2660: 'Draw' : 関数が不正な 1 個の実引数をともなって呼び出されました。 cl.exe の実行エラー T_DImage.exe - エラー 1、警告 0
下の様に修飾すれば通る.
また,D_I_E の関数として次のものを用意すれば D_Image:: の様に修飾しなくても大丈夫.
virtual bool Draw (HWND hwnd) { return D_Image::Draw(hwnd) ; }
TS-253D 再セットアップ – 6
今日 QTS を起動すると,更新版があると表示が…
メッセージに従い操作すると何故か更新できない.
Qfinder やスマートフォンから操作しても更新できない.
他にも,先日から Ubuntu Linux Station の更新がうまくできなくなっている.
これらがうまく機能しなくなったのは先週くらい?から.
閉じた LAN 用にスイッチングハブを追加してそこに接続したのが影響している?
試しに LAN ケーブルを外して更新すると通った.
同様に Ubuntu Linux Station も更新できた.
2020/10/05
記事を書いた時は設定場所がわからなかった.
「ネットワーク」-「インターフェース」の中に「システムの既定のゲートウェイ」がある.
開いた設定画面で LAN 1 に設定.
2020/11/08
先日また QTS の更新版があり更新してみたが…
「システムの既定のゲートウェイ」の設定だけでは回避できないのか?それとも設定が違う?
結局ケーブルを抜いて更新した.
Joomla! の URL
Joomla! のページで,今まで URL に Joomla! が管理している ID が付加されていた.
特に困ってはなかったが,他の NAS に移行すると ID が変わってしまうみたいなので調べてみた.
検索してもなかなかいい情報がヒットしない.
それで見つけたのが次の所.
Joomlaの新しいSEF URL(パーマリンク)
「記事:オプション」の「ルーティング」の所を「モダン」を選択して「URLからIDを削除する」を「はい」に.
Joomla! は,インデックスされるまで 404 となってしまう.
そのため一部のページは次の様なファイルを置くことで対応.
https://mish.work/joomla/index.php/cpp/ref-vcredist-xxx-exe.html
<!DOCTYPE html> <html lang="ja" > <head > <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width,initial-scale=1.0" /> <title >vcredist</title> <meta http-equiv="refresh" content="0;url=/joomla/index.php/cpp/ref-vcredist-xxx-exe.html"> </head> <body > </body> </html>
robocopy でエラー 50 (0x00000032)
次の様なコマンドでファイルをバックアップしていると,
robocopy "\\DevX\Public\Documents\Develop" "\\AS5202T\Public\Document\Develop" /e /xo /xf *.bak ... 6 \\DevX\Public\Documents\Develop\VC_Test\T_mem\T_PhysF\ 8 \\DevX\Public\Documents\Develop\VC_Test\T_STL\ 2020/09/11 10:03:08 エラー 50 (0x00000032) コピー先ディレクトリにアクセスしています \\AS5202T\Public\Document\Develop\VC_Test\T_STL\ この要求はサポートされていません。 30 秒間待機しています... 再試行しています...
何かの拍子に開いたままの状態になってしまったみたいで ASUSTOR NAS で「切断」することで対応.
* 使用しているユーザを切断しない様に注意.
日本語名ファイルのアップロード
次の所から日本語名のファイルをアップロードはできていたが,コードでの対応はうまくできていなかった.
https://itl.mish.work/…/upload.htm
そのため,アップロード時に 7 ビットのファイル名に変換することで対応していた.
これらのコードを書いたのは 3 年位前なので,その当時はまだよくわかっていなかった.
https://dev.mish.work/wordpress/2017/09/04/chttpfile-http-post/
またテクスチャファイル名などが日本語の場合はうまくいかないことも多かった.
最初,日本語名でそのままアップロードすると,いろいろ困った現象に…
PC から NAS 上のアップロード先のファイルが見えなくなってしまった.
一度スマートフォンの NAS 用のファイルマネージャから参照すると PC でも見えるようにはなった.
動作を見ると,サーバ側のコードは動作しているが,格納しているファイル名がうまく渡せていない.
ログなどを確認すると,デバッグ用 MBCS.exe でファイル名が「シフト JIS」のままになっていた.
送られるデータとしては次の所にあたる部分.
$_FILES[‘userfile’][‘name’]
これを UTF-8 にして渡す必要がある.
コードとしては次の所.
v_char Make_send_data (LPCTSTR upFile,LPCTSTR ___boundary) { v_char up_Data = v_c_Load(upFile) ; v_char sndData ; { tstring ct_boundary = ___boundary ; tstring file_img = ::QuotM_Add(_T("file_img")) ; tstring fileName = ::QuotM_Add(::Path_GetName(upFile)) ; tstring dataPre ; tstring dataPst ; dataPre+= CT_boundary__ + ct_boundary + C_CRLF ; dataPre+= CD_cd_f_d_n_ + file_img + CD_cd__fn_ ; dataPre+= fileName + C_CRLF ; dataPre+= CT_ct_a_o_s C_CRLF ; dataPre+= C_CRLF ; dataPst+= C_CRLF ; dataPst+= CT_boundary__ + ct_boundary + CT_boundary__ C_CRLF ; // v_char vc_pref = ::To_v_char(::To__string(dataPre.c_str())) ; v_char vc_pref = ::To_v_char(::To_UTF8 (dataPre.c_str())) ; v_char vc_post = ::To_v_char(::To__string(dataPst.c_str())) ; sndData.insert(sndData.end(),vc_pref.begin(),vc_pref.end()) ; sndData.insert(sndData.end(),up_Data.begin(),up_Data.end()) ; sndData.insert(sndData.end(),vc_post.begin(),vc_post.end()) ; } return sndData ; }
To__string でそのまま char の配列としていたものを UTF-8 にしてから char の配列に.
UpFile.hxx
quotm.hxx
2020/09/08
今度はサーバ側のコード.
本当はクライアントの CInternetSession のコンストラクタで与える User Agent .
UTF-8 でセットすれば良いのはわかるが,引数が LPCTSTR なのでどうすれば良いかわからず.
そのためサーバ側のログを出力する部分でうまく機能しないことがある.
Synology NAS では,一部文字化けするが特に問題なさそう.
ASUSTOR NAS や QNAP NAS では,20200908.txt の読み込み時に止まっている様子.
次の様に //IGNORE を付加して変換.
iconv API は iconv_open(_T("UTF-8//IGNORE")) iconv -f CP932 -t UTF-8//IGNORE 20200908.txt > 20200908.uf8 uconv -f CP932 -t UTF-8 -i 20200908.txt -o 20200908.uf8
TS-253D 温度
昨日から,システムの温度とファンの回転数が正しく表示されなくなった.
ディスクの温度は 40 度位なので正常と思われる.
ファンの音も変化するので,表示だけの問題ではないかと思う.
NAS の再起動で一時的に正しく表示するが,しばらくするとダメ.
スマートフォンの Qmanager も同様.
先日 QTS(ファームウェア)をアップデートした関係か?
2020/08/25
今日は CPU 使用率の表示がされない.
これも NAS の再起動で解消.
2020/08/26
Q’center が更新された.何か不具合があったのかも…
TS-253D セットアップ – 5
WordPress の設定.
そのまま進めてしまうとエラー.
検索すると pnpMyAdmin を入れるみたい .
https://www.qnap.com/ja-jp/how-to/knowledge-base/article/how-to-install-wordpress-on-qts-4-4/
phpMyAdmin を起動して root / admin と入力しても入れない.
「コントロールパネル」-「アプリケーション」-「SQLサーバー」で有効にする必要がある.
またこの時 root のパスワードを指定する.
Joomla! の設定.ASUSTOR NAS の時と同様.
TS-253D セットアップ – 4
Virtualization Station 3 のエクスポート.
先日作成した Win10 を VirtualBox などで開くためにエクスポート.
仮想マシンの下にある「エクスポート」ボタンを押して,*.ovf で「スタート」.
18 GB の img で 40 分位かかった.出力された vmdk は 9 GB .
AS5202T の VirtualBox で「ファイル」-「仮想アプライアンスのインポート」.
変換に 5 分位.
そのまま実行すると 0xc0000225 .
チップセットを「ICH9」,「I/O APIC を有効化」にチェック.
安定して動作はするが,どこかで間違えたみたいでネットワークがうまく機能しない.
PC の VirtualBox で読み込んでみたが,やはりネットワークがうまく動作していない.
今度は VirtualBox のエクスポート.
PC の VirtualBox で「仮想アプライアンスのエクスポート」,AS5202T 上の DevX をエクスポート.50 分位.
QNAP NAS Virtualization Station 3 で「VM のインポート」.20 分位.
最初うまく起動しなかった(実際は表示がうまくされていなかっただけ?).
「設定」-「ビデオ」-「タイプ」を「Cirrus」になっていたものを「VGA」に.
これでうまくいった.VNC 接続も問題なし.
TS-253D セットアップ – 3
他の NAS と同じ様に Google Drive から NAS へのコピー.
HBS 3 Hybrid Backup Sync を利用するみたいだが,いろいろな機能がくっついているので慣れるまでわかり難い.
「同期」-「今すぐ同期」で 3 種類の方法が選べる.
Google Drive 上のファイルを NAS へコピーなので「一方向同期ジョブ」と思ったが,これは NAS のデータを Cloud にバックアップするためのものみたい.
「双方向同期ジョブ」を選択.
「アクティブ同期ジョブ」の設定を見ると Google Drive から NAS への矢印になっている.
やりたかったのはこっちの方.
また「アクション」は「ミラー」の方が目的に合っている.
TS-253D セットアップ – 2
今回の NAS で一番気になっている Virtualization Station 3 .
ASUSTOR NAS にも同様の目的の VirtualBox がある が,再起動時の安定度があまり良くない .
2020/09/21 ASUSTOR NAS VirtualBox は 6.1.12 になり安定している.
「Virtualization Station 3」-「VM の作成」.
「OK」で「自動インストール」のメッセージが表示される.
ここは「キャンセル」(「自動インストール」ではうまくいかなかった).
あまり速くない?
ブラウザで操作していたため動きが悪かったのかもしれない.VNC 接続だとそれほど気にならない.
「Guest Tools」のインストールでは「Ultra VNC」もインストール可能になっている.
TS-253D セットアップ
QNAP NAS TS-253D のセットアップ.
先ず,メモリの取り付け.
マニュアル通り進めれば可能.
https://us1.qnap.com/Storage/TechnicalDocument/Storage/SMB%20NAS/TS-x53D/TS-x53D-UG-01-ja-JP.pdf
但し,指の太い人はかなり厳しい.ケースカバーを外した方が作業はしやすいと思う.
メモリの表裏が,斜めから見るためわかり難い.
純正の 4G であれば,もともと付いているものと同じ向き(チップが付いている側が下).
HDD は WD Blue 3TB をベイ 2 に入れた.
以降は 付属のマニュアル を見ながらの作業.
ケーブルなどの接続を行い,PC に Qfinder をインストール.
画面の指示に従って進めていった.
取り付けたメモリもちゃんと認識している.
QTS に入っていろいろと操作はできるが,なんかおかしい.
Web サーバを有効にできるのに「File Station」で見ると Web フォルダがない.
ユーザは追加できるが,標準で見えるはずの共有フォルダがない.
SSH 接続すると Home ディレクトリがない様なメッセージ.
ここまでの操作と付属のマニュアルを比べると,ディスクの設定がなかった.
付属のマニュアルは古いのかもしれない.
「QNAP セットアップ」で検索すると次の所があった.
https://unistar.jp/column/2899/
これを見ると RAID の設定などは QTS から行うようになった?
ちょっとわからなかったのが,ボリューム容量の設定.
デフォルトでは 3.63 TB に対して 715.66 GB となった.
「最大に設定」で良いと思うが,今回は仮のセットアップのためデフォルトのままとした.
パスワードの制限は「コントロールパネル」-「システム」-「セキュリティ」-「パスワードポリシー」にある.
https://jml.mish.work/various/nas/qnap-nas.html
2021/05/17 マニュアル類が更新されている.
https://www.qnap.com/ja-jp/download?model=ts-253d&category=documents
ASUSTOR NAS に SSH 接続できない
AS5202T に SSH 接続 しようとすると,次のメッセージが表示されて接続できなくなった.
ssh_exchange_identification: read: Connection reset
Microsoft Windows [Version 10.0.18362.959] (c) 2019 Microsoft Corporation. All rights reserved. C:\Users\Iwao>ssh -l Iwao 192.168.1.75 ssh_exchange_identification: read: Connection reset C:\Users\Iwao>ssh -l Iwao as5202t Password: Iwao@AS5202T:/volume1/home/Iwao $ exit Connection to as5202t closed. C:\Users\Iwao>ssh -l Iwao 192.168.1.75 Password: Iwao@AS5202T:/volume1/home/Iwao $ exit Connection to 192.168.1.75 closed. C:\Users\Iwao>ssh -l Iwao 192.168.1.75 Password: Password: Password: Iwao@192.168.1.75's password: Connection closed by 192.168.1.75 port 22 C:\Users\Iwao>ssh -l Iwao 192.168.1.75 ssh_exchange_identification: read: Connection reset C:\Users\Iwao>
対応方法:
ADM に入って「設定」-「ADMディフェンダー」の「自動ブラックリスト」で「削除」する.
スマートフォンの「AiMaster」では「オンラインユーザー」-「ブラックリスト」から.
WinFile.exe v10.1.4.0
Win10 環境で 2019/05 から使っている WinFile .
最近よく操作する「ファイル」-「リネーム」がかなりの確率でダウンする(エラーなどは表示されず抜ける).
ダウンロード先を見てみると新しいものがあった.
https://github.com/Microsoft/winfile/releases
「リネーム」でダウンするのは相変わらず.