Windowsのキーバインドをmacっぽくする(JIS前提)
やること
- WindowsのJIS配列キーボードを変更する
つかうアプリ
手順
Change Keyは管理者権限で実行すればキー配列を変更できる
caps lock
→左Ctrl
無変換
→右Ctrl
Keyhac の設定ファイルを変更する(デフォルトのファイルをまるっと上書き)
C:¥Users¥[name]¥AppData¥Roaming¥Keyhac¥config.py
- 上書き後、WindowsタスクバーのKeyhacアイコンを右クリックして、
設定のリロード
する
import sys import os import datetime import pyauto from keyhac import * def configure(keymap): # -------------------------------------------------------------------- # Text editer setting for editting config.py file # Setting with program file path (Simple usage) if 1: keymap.editor = "notepad.exe" # Setting with callable object (Advanced usage) if 0: def editor(path): shellExecute( None, "notepad.exe", '"%s"'% path, "" ) keymap.editor = editor # -------------------------------------------------------------------- # Customizing the display # Font keymap.setFont( "MS Gothic", 12 ) # Theme keymap.setTheme("black") # -------------------------------------------------------------------- # Global keymap which affects any windows if 1: keymap_global = keymap.defineWindowKeymap() keymap_global[ "LCtrl-M" ] = "Enter" keymap_global[ "LCtrl-I" ] = "Tab" keymap_global[ "LCtrl-A" ] = "Home" keymap_global[ "LCtrl-E" ] = "End" keymap_global[ "LCtrl-N" ] = "Down" keymap_global[ "LCtrl-P" ] = "Up" keymap_global[ "LCtrl-F" ] = "Right" keymap_global[ "LCtrl-B" ] = "Left" keymap_global[ "LCtrl-Shift-A" ] = "Shift-Home" keymap_global[ "LCtrl-Shift-E" ] = "Shift-End" keymap_global[ "LCtrl-Shift-N" ] = "Shift-Down" keymap_global[ "LCtrl-Shift-P" ] = "Shift-Up" keymap_global[ "LCtrl-Shift-F" ] = "Shift-Right" keymap_global[ "LCtrl-Shift-B" ] = "Shift-Left" keymap_global[ "LCtrl-K" ] = "S-End","Delete" keymap_global[ "LCtrl-G" ] = "Escape" keymap_global[ "LCtrl-H" ] = "Back" keymap_global[ "LCtrl-A-F" ] = "A-Right" # ブラウザで進む keymap_global[ "LCtrl-A-B" ] = "A-Left" # ブラウザで戻る keymap_global[ "LCtrl-RCtrl-M" ] = "C-Enter" # ブラウザでリンクを新しいタブで開く # 無変換キーを空打ちするとime_off keymap_global["O-RCtrl"] = lambda: switch_ime(False) # 変換キーを空打ちするとime_on keymap_global["(28)"] = lambda: switch_ime(True) ## IMEを切り替える # # @param flag 切り替えフラグ(True:IME ON / False:IME OFF) # def switch_ime(flag): # バルーンヘルプを表示する時間(ミリ秒) BALLOON_TIMEOUT_MSEC = 500 # if not flag: if flag: ime_status = 1 message = u"[あ]" else: ime_status = 0 message = u"[_A]" # IMEのON/OFFをセット keymap.wnd.setImeStatus(ime_status) # IMEの状態をバルーンヘルプで表示 keymap.popBalloon("ime_status", message, BALLOON_TIMEOUT_MSEC)
以上。
【断片的な記録】macにPostgreSQLをインストールした
参考
環境
- OS X El Capitan(10.11.6)
- Ruby 2.0.0p648
- Homebrew 1.7.1
- PostgreSQL 10.4
つまづいた記録
冒頭の【参考】リンクの手順に沿って実行したが、躓いた箇所を記録する。
- 初めてログインする際、何か聞かれた。断ったらすんなりログインできた。(2回目以降のログインでは聞かれなくなった)
~ ❯❯❯ psql -U${USER} postgres zsh: correct psql to _psql [nyae]? n psql (10.4) Type "help" for help. postgres=#
$ createdb hogehoge -O postgres;
以上。
SSLについて理解したことのまとめ
SSLについて理解したことを、下記サイトから抜粋してまとめてみます。
図解で学ぶネットワークの基礎:SSL編 | 日経 xTECH(クロステック)
Lesson1
- SSLが持つ機能は二つある。
- 「データの暗号化」
- 「通信相手が信頼できることの確認」(認証)
- SSL(SSLクライアント)は,このWebブラウザとTCPの間に位置する。
- SSLとTLSの動作と機能はほぼ同じである。
Lesson2
- SSLは,「共通鍵暗号」と「公開鍵暗号」という二つの暗号方式を組み合わせて利用している。
- 「共通鍵暗号」の特徴は,暗号化と復号の処理が軽いこと。
- 実際にアプリケーション同士でやりとりするデータの暗号化/復号に利用される。
- 暗号通信で使う鍵の共有(前処理)の処理順番
Lesson3
- SSLは,大きく二つの仕様で成り立っている。
- SSLで運ぶメッセージは「レコード」と呼ばれる
- 一般的なSSLのやりとり
- クライアントは、サーバーに暗号通信で使う暗号方式などを提案する
- サーバーは、提案のあった方式から適切なものを一つ選んで返答する
- サーバーは、クライアントにCertificateメッセージを使ってサーバー証明書を送る
- 証明書の情報を送り終えたら,そのことを知らせる
- クライアントは、入手したサーバー証明書からサーバーの公開鍵を取り出し、この公開鍵を使って暗号通信に使う共通鍵の基になる秘密の値(プレマスタ・シークレット)を暗号化して送信する。
- これがClientKeyExchangeメッセージである。
- サーバーは、この暗号化したデータを自身の秘密鍵で復号すると、プレマスタ・シークレットが出てくる。
- この時点で両者は、共通鍵の基となるプレマスタ・シークレットを共有できた。
- クライアントは、これまで決めた暗号方式の採用を宣言し、ハンドシェークの終了をサーバーに知らせる。
- これを受けたサーバーの動作もクライアントと同様。暗号方式の採用を宣言し、ハンドシェークの終了をクライアントに知らせる。
- これ以降クライアントとサーバーは、共有したプレマスタ・シークレットから共通鍵を生成し、その共通鍵を使って暗号通信を実施する。
Lesson4
【解決】さくらのVPSにSSHで入れない
現象
Permission denied (publickey).
原因
やってしまったこと(こちらより一部拝借)
1.[vps]ssh用のディレクトリ作っておく 2.[mac]鍵作る 3.[mac]公開鍵をvpsに持ってく → scpで持ってくのではなく、ファイル内のテキストをコピペして持っていった。 4.[vps]公開鍵を設定する 5.[mac]ssh接続して確認してみる 6.[mac]ssh接続を設定に書いておく 7.[vps]sshdの設定をする
結論
さくらのVPSにDebian9をインストールしてsudo設定まで
序盤
- さくらのhelpに従い、Debian9をインストール
カスタムOSインストールガイド - Debian 8 / 9 – さくらのサポート情報
- rootのパスワードを空白のまま設定してしまったので再設定。。
Debianを使用していますが、suコマンド時の管理者(root)パスワードが分かりません。
rootでログインして作業する
apt update apt upgrade apt install sudo
- visudoのデフォルトのエディタを変更する(nano -> vim)
root@tk2-212-15580:~# update-alternatives --config editor alternative editor (/usr/bin/editor を提供) には 2 個の選択肢があります。 選択肢 パス 優先度 状態 ------------------------------------------------------------ 0 /bin/nano 40 自動モード 1 /bin/nano 40 手動モード * 2 /usr/bin/vim.tiny 15 手動モード 現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください:
「2」を押してenter
- visudoで設定変更する
# User privilege specification root ALL=(ALL:ALL) ALL # 追記 [ユーザ名] ALL=(ALL:ALL) ALL
sudoが正しく設定されているか確認する
- root以外の[ユーザ名]にてログインする
apt update
- error!
sudo apt update
- success!
その他
Debianのadduserとuseraddについてメモ
adduser
useradd
- adduserの中で呼ばれてるので、原始的(なイメージ)
- ユーザー追加する際にはgroupaddとかも手動でやらねばならん
- 対話式ではない
- Debianを含む、各ディストリビューションで使えるコマンド。
aptについてまとめてみる
aptが無い時代は
aptは
- dpkgのフロントエンドとして使われてる
- dpkg自身では、パッケージをリモートホストから取得したり、複雑なパッケージ間の依存関係を扱うことができない
- そこで、aptつかうことになる
aptの機能
# | 機能 | 説明 |
---|---|---|
1 | 依存 | 必須パッケージ |
2 | 推奨 | 任意パッケージ(でも通常は導入するもの) |
3 | 提案 | 任意パッケージ(でも導入すると機能向上するもの) |
4 | 衝突 | 導入と同時に削除されるパッケージ |
aptコマンド
- apt-getとapt-cacheが統合されてaptになった
旧コマンド | 新コマンド |
---|---|
apt-get install パッケージ名 | apt install パッケージ名 |
- よくつかうaptコマンド例
コマンド例 | 説明 |
---|---|
apt update | パッケージリスト(データベース)の更新 |
apt upgrade | インストールされているパッケージ(ソフトウェア)の更新 |
apt install パッケージ名 | パッケージ名のインストール |
apt list --installed | インストールされているパッケージリストの表示 |
apt search 検索キーワード | パッケージの検索 |
apt remove パッケージ名 | パッケージ名のアンインストール |
apt autoremove | apt removeで削除されなかった関連ファイルの削除 |