Sambaのインストール

sudo apt-get install samba

必要なフォルダ作成

mkdir xxx
chmod ugo+rwx /xxx
フルアクセスにする。

設定ファイル

sudo vim /etc/samba/smb.conf

[global]
の中に以下追記。

netbios name = xxx (現在は使えない)
unix charset=UTF-8
dos charset=CP932

security = user(デフォルト)

ゲストアカウントの許可について、
security=shareはverによってはダメなので、
代替として「security=user」+「map to guest=Bad User」の組み合わせ

securityの選択肢、
security = share パスワードだけ(Samba 3.6.0以降deprecated)
security = domain ドメインコントローラ
security = server ほかのSMBサーバにより
security = ads AD(アクティブディレクトリ)ドメインのドメインコントローラ
などある。

guest account = nobody
ゲストをどのLinuxアカウントとして扱うか。

map to guest = bad user (もともと記述済み)
不正なパスワードは拒否だが、ユーザが存在しない場合ゲストとして扱う。

map to guest
の選択肢、
Never = 不正なパスワードによるユーザーのログイン要求を拒否。
Bad User = 指定されたユーザーが存在しなかった場合はguest accountで指定したユーザーとして扱う。
Bad Password = 不正なパスワードによるユーザーのログイン要求を guest accountで指定したユーザーとして扱う。

以下を最終行に追加。

[share]
[]は共有名となる。
path = /home/xxx
writable = yes
guest ok = yes (public = yesのエイリアス)
force create mode = 0777 (作成したファイルに付加されるアクセス権)
force directory mode = 0777 (作成したディレクトリに付加されるアクセス権)
share modes = yes (他人が開いているかどうかチェック。verによっては使えない)
vfs objects = recycle (ゴミ箱機能)

ちょっと設定が違うタイプ。

[private]
path = /home/xxx
writable = yes
guest ok = yes
force create mode = 0777
force directory mode = 0777
share modes = yes
vfs objects = recycle
browseable = no

・アクセスについて

sambaのアカウントとlinuxのアカウントは別管理される。sambaでフォルダごとのユーザー管理が手間の場合、browseable = noとすると見えなくはなる。

Winから手動アクセスがないのなら、フォルダのアクセス管理で対応するのもひとつ。
chmod ugo+rwx /xxx

・コンピュータ名について

現在はSMBv1が停止しているので、netbios nameでは表示できない。WSDをスクリプトで対応する方法があるらしい。

現在、SMBのどのバージョンでコネクションしているか
PowerShell>get-smbconnection
でわかる。

ちなみに、現在のPCに接続してきているセッションは、
PowerShell>get-smbsession
現在のPCが共有化しているフォルダは、
PowerShell>get-smbshare
でわかる。

起動

testparm
で設定をチェックできる。

sudo /etc/init.d/smbd start
sudo /etc/init.d/nmbd start

Win7では接続できてWin10で接続できないのでWin10で色々やってみた。

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi

を走らせてSMB1とした。

処理後、管理ツール、サービス、Workstation、依存関係から確認できる。
が、接続できない。空のパスワードがダメかと思ったがHOMEのためローカルセキュリティポリシーが使用できないため、「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\limitblankpassworduse」
の設定値を0にしてみた。が、接続できない。

そういえばsambaとは関係なく以前も同じような症状があったと思い出し、資格情報マネージャ、Windows資格情報に、ユーザー名:guest、パスワード:空白で追加してみたら繋がった。

設定

comment
共有フォルダのコメント設定。
path
共有したいディレクトリのパス名を設定。
public
パスワードなしでのアクセスを認める。securityをshare以外に設定したときは意味を持たない。
guest ok
ゲストユーザでの接続を許可。
guest only
ゲストユーザのみ接続を許可。
guest account
ゲストとして接続するときのユーザ名を設定。
read only
共有フォルダへの書き込みを許可しない。
writable
共有フォルダに書き込めるように設定。
create mask
共有フォルダに作成されるファイルのパーミッションを3桁で指定。
directory mask
共有フォルダに作成されるディレクトリのパーミッションを3桁で指定。
force user
接続したときのユーザ名を無視して、指定したユーザとして操作。ファイルを作成したときは指定したユーザの所有になる。
browseable
共有フォルダの一覧に表示させる。noを指定すると隠し共有になる。
valid users
指定したユーザだけが利用できる。
invalid users
指定したユーザは利用できない。
write list
指定したユーザだけに書き込みを許可。
hosts allow
指定したホスト(IPアドレスも可)だけに利用を許可する。
hosts deny
指定したホスト(IPアドレスも可)からの利用を拒否する。

CentOSの場合(抜粋)

インストール
yum install samba

インストール確認
systemctl status smb nmb

自動起動
systemctl enable smb nmb

自動起動確認
systemctl is-enabled smb nmb

ファイアーウォール確認
firewall-cmd –list-all

ファイアーウォール追加
firewall-cmd –add-service=samba –permanent

ファイアーウォール再起動
firewall-cmd –reload

設定ファイル
/etc/samba/smb.conf

ファイル名を指定して実行

Win10の場合、
Win+S
からでもほぼ同じ動作ができる。また、
Ctrl+Shift+Enter
で管理者権限で起動できる。

Win10の設定は、
ms-settings:
という形式となる。

***

・バージョン情報
ms-settings:about

・Windows Update
ms-settings:windowsupdate

・Microsoft Store
ms-windows-store://home

・Bluetoothとその他のデバイス
ms-settings:bluetooth

・すべてのアプリ
shell:appsfolder

ストアアプリのショートカットを作成する場合ここから

・ユーザーアカウント

Windows ユーザー関連

・デフラグ
dfrgui

・Windowsの機能
optionalfeatures

・サービス
services.msc

・MMCスナップイン
mmc

ファイル>スナップインの追加と削除
ファイル>名前を付けて保存

・プログラムの追加と削除
appwiz.cpl

・管理ツール
contorol admintools

・コンピューターの管理
compmgmt.msc

・システム構成ユーティリティ
msconfig

・システムのプロパティ (環境変数)
sysdm.cpl

・タスクスケジューラ
taskschd.msc

・入力設定
control input.dll
Ctrl + F10

Google日本語入力の場合

・共有フォルダ
fsmgmt.msc

・インターネットオプション
inetcpl.cpl

・デバイスマネージャ
devmgmt.msc

・イベントビューワ
eventvwr

・WIndows Update(Win7)
wuapp

・ファイアーウォール
firewall.cpl
wf.msc

・フォルダオプション
control folders

・電源オプション
powercfg.cpl

・ディスククリーンアップ
cleanmgr

・システム復元
rstrui
sysdm.cpl>システムの保護>システムの復元

・バックアップと復元(Windows 7)
sdclt

・タブレットモード
ms-settings:tabletmode

・資格情報
control keymgr.dll
rundll32.exe keymgr.dll,KRShowKeyMgr

・拡大鏡
magnify

・日付と時刻
timedate.cpl

・プリンタ
shell:PrintersFolder
control printers
rundll32.exe printui.dll,PrintUIEntry

Vim コマンド

操作基本

u, Ctrl+R
アンドゥ、リドゥ

gg
画面トップ

G
画面末尾

w, e, b
単語単位での移動

Ctrl+V
矩形選択

Shift+j
行結合

>>,  <<
インデント

Ctrl+u, Ctrl+d, Ctrl+f, Ctrl+B
スクロール

*
カーソル下の文字を検索

: を入力後、Ctrl+R, Ctrl+W
コマンド下の文字をvimgrep

split, vsplit
:sp xxx名, :vsp xxx名
画面の分割

:e.
ファイラで開く

Ctrl-W, W
分割画面の移動

Ctrl+U, Ctrl+D
スクロール

Ctrl+i
進む

Ctrl+o
戻る

言語設定

e ++enc=utf-8
指定文字コードで開きなおす

set fenc=shift_jis
指定文字コードに変更

set encoding=utf-8
Vim自体の言語設定

:verbose highlight cursorline
設定を見れる

置き換え

:%s/old/new/gc

‘g’ を加えると行の先頭だけではなく行の中全て
‘c’ を加えると置換の度に確認を求める

sが置き換えの意味、%が現在開いているファイルの意味。

ただし、通常の正規表現とは違うエスケープが必要らしい。
以下は、#から始まる行と、改行だけの行を削除。
:%s/^#.*\n\|^\n//g

Vimgrep

正規表現のパターン

:vim {pattern} app/**
:vim {pattern} **/*
が基本の書き方。

パスの指定は、先ず検索したいパスを指定して、それに、
*
**
*.txt
**/*.txt
の組み合わせの何れかがくっつくイメージ。

| cw で渡して、 :copen で開く。

Ctrl-w, w
移動

:q
閉じる。

ちなみに通常のgrep基本

grep -rn xxx *
等記述する

G
通常正規表現

E
拡張正規表現

P
Perl互換正規表現

r
階層下のファイル内を対象

n
行番号

VBA SQL実験用①(Access(mdb))

SQLの挙動を調べるのにエクセルから手軽にSQLを発行

C# DirectShow

DirectShow導入

以下のコマンドを走らせると、QuartzTypeLib.dllができる。
“C:\Program Files\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\TlbImp.exe” “C:\windows\System32\quartz.dll”
できたら、参照設定に直接追加する。

ちなみに、DirectShowでmp4を再生する場合、
ffdshow
をインストールする。
DirectShowフィルタのみチェックでOK。

Haali Media Splitter
をインストールする。
Disable MPC internal Matroska splitter
のチェックを外す。

GraphEdit

DirectShowを確認できるソフトだが、Microsoft SDKs\WIndows\V7.1\Bin\
には見つからなかった。最終的にGraphStudioNextというのが近いらしく、これを利用することに。

非公式だが、以下からだとgraph editが行けるらしい。
http://www.digital-digest.com/dvd/downloads/showsoftware_graphedit_141.html

とりあえず動画の再生

Access メモ

DBエンジン(JET)

JETはOS32bit専用(JET自体32bitのみ)なのでOS64bitで動かす場合、
32bitプログラムまたは32bitOfficeで動かす。(WOW64で動かす)
また、JETはaccdbを使えない。
(Accessから直接mdb/accdbを操作する場合は関係なく、64bitAccessからmdbを開くことも可能)

以前はOS標準で搭載されていたため、追加で再頒布可能コンポーネントをインストールする必要がなく便利だったが、現在は非推奨。

・OS64bit/64bitプログラム
利用できない。
・OS64bit/32bitプログラム(32bitOffice)
“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xxx.mdb”
は利用できる。
“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xxx.accdb”
は利用できない。

DBエンジン(ACE)

ACEはOS32/64bit(ACE自体が32/64bit存在する)でも使える。
mdb/accdbが使える。

・OS32bit/32bitプログラム(32bitOffice)
・OS64bit/32bitプログラム(32bitOffice)
・OS64bit/64bitプログラム(64bitOffice)
“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=xxx.mdb”
“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=xxx.accdb”
すべて利用できる。

パスワード付きのmd/accdbを開く場合、
“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=xxx.mdb/accdb;” & “Jet OLEDB:Database Password=xxx”
OS64bit/32bit、OS64bit/64bitプログラムどちらでも利用できる。

OS標準で入らないので、Accessや再頒布可能コンポーネントなどが必要。
※32bitのOfficeが入っている場合、AccessDatabaseEngine_x64.exe /quiet

DBエンジン確認

にて確認できる。32bitを確認したい場合、
%systemroot%\syswow64\windowspowershell\v1.0\powershell.exe
のPowerShellを起動する。

ADOとDAOの違い

DAOはJETエンジンを対象に開発され、Access専用。
ADOはAccess以外も対象。OLEDBを利用する。

VBA(ADO)での利用

取得方法の種類

OLEDBドライバがない

ExcelからAccess接続したいなと思ったら、インストール可能な ISAM ドライバが見つかりませんでしたと言われた。

どうやら以下を読むと、2016/32bit(サブスクリプション)がクイック形式で入っていて、ドライバが入らないということらしい。

https://blogs.technet.microsoft.com/officesupportjp/2016/09/06/not_available_access_odbc_oledb_outside_c2r_applications/

https://blogs.technet.microsoft.com/officesupportjp/2016/09/08/howto_c2r_or_msi/

MySQLへのエクスポート

DSNを作っておくと自動でエクスポートできるとのこと。

http://dev.mysql.com/downloads/connector/odbc/
からmsiファイルでインストール。

コントロールパネル>管理ツール>ODBCデータソース>ユーザー DSN>追加
Accessを起動してテーブルデザインをエクスポート先のMySQLと合わせる。
テーブルを選択し、
右クリック>エクスポート>ODBC データソース
(すでに存在しているテーブルに上書きはできない)

ストアドプロシージャ

SQLServer

・定義

create procedure ストアドプロシージャ名
@パラメータ名 型
as
begin
処理
end

・変数

宣言
declare @変数名 型

データ型
varchar:文字列
int:数値
decimal:小数
date:日付

代入
set 変数 = 値

・カーソル
1行ずつループして処理する方法。

カーソルの宣言
declare カーソル名 cursor for (select 文)

カーソルを開く
open カーソル名

データの取得
fetch next from カーソル名 into 変数リスト

ループ処理の実行

while 条件式
begin
処理内容 where current of カーソル名
end

※ループの定番
while @@fetch_status = 0

カーソルを閉じる
close カーソル名

カーソルの開放
deallocate カーソル名

MySQL

CREATE ROUTINEの権限が必要。

・基本
create procedure sample01()
select now();
mysql>call sample01;

・削除
mysql>drop procedure sample01;

・一覧
show procedure status;

・中身
show create procedure sample01;

・引数をとる
create procedure sample01(in a int, in b int)
select a + b;
mysql>call sample01(10,5);

・返り値
create procedure sample01(out x int)
set x = 3;
mysql> call sample01(@var);
mysql> select @var;

・複数のクエリを発行
delimiter //
create procedure sample01()
begin
select 1;
select 2;
end//
delimiter ;
mysql> call sample01;

・IF文
delimiter //
create procedure sample02(in x int)
begin
if x = 1 then
select “inp 1”;
elseif x = 2 then
select “int 2”;
else
select “inp else”;
end if
end //
delimiter ;
call sample02(1);

・select~into文で変数へ
delimiter //
create procedure p(in a int, out sum int)
begin
select a * 2 into @tmp;
set sum = @tmp;
end //
delimiter ;
call p (4,@sum);
select @sum;

・カーソル単位で処理する

declare xxx cursorという形で宣言する。
for select でselectの結果を定義する。
fetch cursor for カラムで代入。
処理前にopenして最後にcloseする。

 

Windows ロック画面変更

ロック画面の変更

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Authentication \ LogonUI \ Background

右ペインの何もないところを右クリックし、メニューから<新規>→<DWORD値>と選択して、DWORD値「OEMBackground」を作成します。

DWORD値「OEMBackground」をダブルクリックします。

値のデータを「1」に変更

%windir%\system32\oobe」が開いたら、「info」というフォルダを作成。その中に、「backgrounds」フォルダを作成します。

「backgroundDefault.jpg」同フォルダ内にコピーします。

250KB以下にしないとダメ

Windows 初期設定

●Win
・マルチディスプレイ
・タスクバー
・BitLocker
・ドライブレター変更(Gドライブ)
・ダークモード
・スナップ(システム>マルチタスク>ウィンドウのスナップ)
●Google Chrome
・個人アカウント、Workspace2つログイン
●ESET
●AutoHotkey
・スタートアップ登録
●Google日本語入力
辞書には せん ——————————————————– だけ登録
AutoHotkeyにあわせて変更
●電源設定
●Explzh
・ツール>オプション>シェルエクステンション
>基本設定>シェル統合機能>オフ
>関連付け設定>関連付け、アイコンの設定>「一発解凍」の動作となる、関連付け設定にする>オン
>「解凍先の指定」ダイアログボックスを表示する>オフ
・ツール>オプション>フォルダ>デフォルトのフォルダ>書庫のフォルダを解凍先にする>オン
●フォントインストール
MeiryoKe
https://meir000.github.io/MeiryoKe/
●スタートアップ

CLaunch
Clibor
CreateIndex

●Chrome
モード:ダーク
自作拡張機能設定+ショートカット設定
フォントをMeiryo+MeiryoKeGothic
●PowerToys
コマンドパレットのみ
●VeraCrypt
●Dropbox
すでにDropboxがあるフォルダを指定する
●OneDrive
個人用がインストールされているので、アカウントから365に切り替える。
デスクトップ、ドキュメントをバックアップ
※管理できるのはこのアプリのみを指定
●EmEditor
・設定のインポート
・アカウントログイン
●AutoHotkey
・EmEditorで開く
コンピューター\HKEY_CLASSES_ROOT\AutoHotkeyScript\shell\edit\command
を開く。
“C:\Users\xxx\AppData\Local\Programs\EmEditor\EmEditor.exe” “%1”
と入力する
●Microsoft 365
※ライセンス認証時、管理できるのはこのアプリのみを指定
・リボンに開発表示
・行番号表示
regsvr32 “G:\Dropbox\Application\VB6IDEAddLineNumbersAddin.dll”
(解除の場合)
regsvr32 /u “G:\Dropbox\Application\VB6IDEAddLineNumbersAddin.dll”
アドイン>アドインマネージャ

からロード設定。
・ツール>オプション>編集
自動インデントを2へ。
・ツール>オプション>エディタの設定
標準コード、識別子、ブックマーク、呼び出し元:前景を白、背景を黒

キーワード:前景をシアン
それ以外はすべて:背景が白の場合は黒
●ShareX
ホットキー設定
●MPC BE
・MPC Video Rendererにチェックしインストール。
・表示>オプション>プレーヤー
>シークバーのテキスト:なし
>OSDを表示する:チェック外す
・表示>オプション>再生
>繰り返し再生
●IrfanView
・本体、プラグイン、翻訳
●Win
・背景壁紙
・エクスプローラ(Shell Folder Disabler)
・Bluetoothリンク(ATH-AC5TW)
●ドライバ
・Bluetoothアダプタ
・GPU
・NIC(GBE2.5-PCIE)
●WatchGuard、OpenVPN

WatchGuard VPN ClientからOpenVPN GUIに変更

●インターネットオプション
信頼済サイト:\\192.168.*.*
●Mattermost

ConoHaVPS Mattermostイメージ

●ScanSnap Home
S1100
・デスクトップに保存
・スーパーファイル
・ファイル名を日付へ
●TEPRA Label Editor
SR3500P
●PDF-XChange Lite Printer Free
●Wondershare
●Adobe Bridge
右上メニュー>プレビューサイズ>埋め込み(最速):チェック
●4K Video Downloader
●PDFelement
環境設定>一般
デフォルトズーム:ウィンドウに合わせる
トップメッセージバーを常に非表示にする:オン
ファイルの自動保存の間隔:オフ
PDFを開いた後にAIチャットサイドバーを常に展開する:オフ
●LogiOptions+
スクロール力:15%
SmartShift:オフ
●マウス設定
・ポインターの速度を6/旧(11/Win11)
・ポインターの精度を高めるを外す
※DPIとは物理的な1inch(2.54cm)で何ピクセル動くかと考えると分かりやすい。
●コンテキストメニューのオプション非表示

エクスプローラ再起動
●FFmpeg
バイナリをWinフォルに入れる
●GIMP
●Chomeプロファイル追加
●VSCode

・設定>
Tab Sizing:fixed
Tab Sizing Fixed Max Width:200
Tab Sizing Fixed Min Width:200

・キーボードショートカット>
参照へ移動をF12にする。
(F12でトグルしないように、参照へ移動以外のF12は削除

・Ctrl+Shift+P>settings json

“workbench.colorCustomizations”: {
“editorIndentGuide.background1”: “#b22222”,
“editorIndentGuide.background2”: “#ff4500”,
“editorIndentGuide.background3”: “#ffd700”,
“editorIndentGuide.background4”: “#228b22”,
“editorIndentGuide.background5”: “#000080”,
“editorIndentGuide.background6”: “#8b008b”,
“editorIndentGuide.activeBackground1”: “#fff”,
“editorIndentGuide.activeBackground2”: “#fff”,
“editorIndentGuide.activeBackground3”: “#fff”,
“editorIndentGuide.activeBackground4”: “#fff”,
“editorIndentGuide.activeBackground5”: “#fff”,
“editorIndentGuide.activeBackground6”: “#fff”
}
を追加する。

files.defaultLanguage>
javascript

・拡張機能>
Code Runner
Easy Snippet
Japanese Language Pack for Visual Studio Code

●VisualStudio

ツール>オプション>環境>キーボード

1.「以下の文字列を含むコマンドを表示」
から検索し対象のショートカット見つける。

2.「選択したコマンドへのショートカット」
の右側にある削除を実行し、現在のショートカットを削除する。

3.「ショートカットキー」
というラベルのテキストボックスに新しいショートカットを入力し割り当てを実行する。

ウィンドウ.次のタブ:Ctrl+Tab
ウィンドウ.前のタブ:Ctrl+Shift+Tab
ファイル.閉じる:Ctrl+W
表示.戻る:Alt+Left

表示.次に進む:Alt+Right
編集.行の削除:Alt+L
編集.選択した行を上へ移動:Alt+K
編集.選択した行を下へ移動:Alt+J
ファイル.このウィンドウ以外すべて閉じる:Shift+Alt+Z
※AutoHotkeyでAlt+Zとして利用

※インストールできる場合CloseTabsToRightを利用

ツール>オプション>デバッグ

出力ウィンドウの文字をすべてイミディエイトウィンドウにリダイレクトする
チェックする。

エディットコンティニュを有効にする
チェックを外す。

ツール>オプション>環境>フォントおよび色
テキストエディター
MeiryoKe_Gothic/13

ツール>オプション>環境>タブとウィンドウ
タブの最小幅、最大幅を同じサイズに。

ツール>オプション>環境>フォントおよび色>
環境>Meiryo UI/10
出力ウィンドウ>Consolas/10

拡張機能
Viasforaインストール

Visual Studio 2022 CloseTabsToRightインストール

 

●MySQL Workbench
●Microsoft SQL Server Management Studio(SSMS)

オプション>デザイナー>テーブルの再作成を…にする
チェックを外す。

SQL Server メモ

●Docker Desktop

DockerDesktop用Hyper-V の設定

●Happy Hacking Keyboard キーマップ変更ツール

●SoftEther

SoftEther Ubuntu/Win インストール

 

C# Seleniumの利用

Selenium Client & WebDriver Language BindingsのC#をダウンロードする。

解凍した中身をコピーする。

C:\Windows\Microsoft.NET\Framework\v4.0.30319

csc.exeがある場所と同階層にcsc.rspがあるのでと追記する。

/r:Selenium.WebDriverBackedSelenium.dll

/r:ThoughtWorks.Selenium.Core.dll

/r:WebDriver.dll

/r:WebDriver.Support.dll

.Netの標準dll以外で参照設定したサードパーティのdllは実行ファイルと実行ファイルと同フォルダ内に配置する。

Firefox以外は作成した実行ファイルと同じ場所にDriverが必要。

The Internet Explorer Driver Serverから32 bit Windows IEをダウロードする。

解凍した実行ファイル(IEDriverServer.exe)は作成した実行ファイルと同一階層におく必要はないが、パスが通ってないとダメ?ためしに、c:\置いたけどエラーがでる。

C:\Windows\Microsoft.NET\Framework\v4.0.30319に置くか、作成した実行ファイルと同一階層なら大丈夫だった。