追記:scoop
ゼロトラストとやらで会社のPC(Windows10)の自由度が低下しました
こんな状況でも出来ることはあります
設定 > システム > 詳細情報 > システムの詳細設定 ←ここで管理者パスワードを求められて行く手を阻まれます
なので直接ダイアログを表示しましょう。Win-R(ファイル名を指定して実行)で
rundll32 sysdm.cpl,EditEnvironmentVariables
あるいはコマンドプロンプトで
setx 変数名 値
setx だと環境変数の削除が出来ないようです(ヌル値を設定できるけど、環境変数自体は残ってしまう)
パラメータ付きでインストーラを起動(コマンドプロンプトで)
setup-x86_64.exe --no-admin
社内プロキシの証明書をCygwinに導入
cer=/path/to/ca.cer
cp -v "$cer" /etc/pki/ca-trust/source/anchors/
bash -x /usr/bin/update-ca-trust -o /etc/pki/ca-trust/extracted # --no-admin の場合
$ echo 'check_certificate = off' | tee ~/.wgetrc
$ echo 'insecure' | tee ~/.curlrc
$ git config --global http.sslVerify false
$ pip3 config set global.trusted-host "pypi.org files.pythonhosted.org pypi.python.org"
ユーザー名を変える
$ mkpasswd -c | sed -E 's/^.[^:]+/お好きなユーザ名/' | tee /etc/passwd
# cygwinを再起動すると変わっている
こんなエラーが出たら
$ teip --help
bash: /usr/local/bin/teip: Permission denied
exeファイルをエクスプローラーで右クリック
で使えることがあります。
動作実績
bash:
shellcheck(){
args=()
for arg in "$@"; do args+=("$(cygpath -w -- "$arg")"); done
command shellcheck "${args[@]}"
}
vim コマンドモード:
!shellcheck "$(cygpath -w "%")"
powershellで
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
cd $env:LocalAppData
irm get.scoop.sh -outfile 'install.ps1'
.\install.ps1 -ScoopDir "$env:LocalAppData\scoop"
ScoopDir は暗号化対象外のディレクトリを指定する
インストーラをとりあえず終了させて、手動でコマンドを流す
bash -x /usr/bin/update-ca-trust -o /etc/pki/ca-trust/extracted
cygwin を --no-admin をつけてインストールしている時に、ca-certificates のアップデートが掛かると、postinstall処理でエラーになる
/var/log/setup.log.full
2023/12/04 10:34:35 running: C:¥Users¥*******¥AppData¥Local¥cygwin64¥bin¥bash.exe --norc --noprofile "/etc/postinstall/ca-certificates.sh"
/usr/bin/ln: failed to create symbolic link '/etc/pki/ca-trust/extracted/pem/directory-hash/ca-certificates.crt': Permission denied
2023/12/04 10:34:39 abnormal exit: exit code=1
/etc/pki/ca-trust/extracted/pem/directory-hash ディレクトリのパーミッションがよろしくない
$ \ls -laF /etc/pki/ca-trust/extracted/pem/
total 1024
drwxr-xr-x 1 nobuoki COE+2871673 0 Dec 4 10:52 ./
drwxr-xr-x 1 nobuoki COE+2871673 0 Nov 20 11:11 ../
-rw-r--r-- 1 nobuoki COE+2871673 898 Nov 12 01:02 README
dr-xr-xr-x 1 nobuoki COE+2871673 0 Dec 4 10:52 directory-hash/
-r--r--r-- 1 nobuoki COE+2871673 179894 Dec 4 10:52 email-ca-bundle.pem
-r--r--r-- 1 nobuoki COE+2871673 501810 Dec 4 10:52 objsign-ca-bundle.pem
-r--r--r-- 1 nobuoki COE+2871673 222779 Dec 4 10:52 tls-ca-bundle.pem
このディレクトリの権限は /etc/postinstall/ca-certificates.sh から呼び出されている /usr/bin/update-ca-trust(スクリプト) で制御しているので(むやみに手動で chmod a+w とかやらないで)スクリプトの流儀に従って実行してあげれば良い
Windows11のエクスプローラーでファイルを右クリック>パスのコピー(A)
をすると、ダブルクォーテーションで括られる
"C:\Users\1000202334\Desktop\line.md"
でもたまにはそうして欲しくない時がある
C:\Users\1000202334\Desktop\line.md
手作業でダブルクォーテーションを消すのも面倒ではなかろうか?
1行だけのバッチファイルを作って、ショートカットを shell:sendto に入れる
copy_path.cmd
echo %1| clip
これでエクスプローラーでファイル/フォルダを右クリック >送る >copy_path.cmd で幸せになれる
tmuxの設定で、ローカルで起動したときのプレフィックスキーはCtrl-Bで、sshで外部から接続してきたときは Ctrl-T、のように、何らかの条件でtmuxのプレフィックスキーを変更することができますか?できる場合、どのような方法がありますか?
# ローカルで起動した場合
if-shell "[ -z $SSH_CONNECTION ]" {
set-option -g prefix C-b
} else {
set-option -g prefix C-t
}
else は不要。惜しい。
# ローカルで起動した場合
if-shell "[ -z $SSH_CONNECTION ]" {
set-option -g prefix C-b
} {
set-option -g prefix C-t
}