- 投稿日:2019-03-23T22:18:36+09:00
 
文字コードをコマンドで切り替える(iTerm2 )
環境、ファイルごとに文字コードがeuc, utf-8と混在しており、頻繁に日本語が文字化けしていました。
毎回iTerm2の設定画面で切り替えていましたが、面倒なのでコマンドで切り替えれるようにします。プロファイルを文字コードの数だけ作る
iTermを開いている状態で
cmd + ,でPreferencesを開き、
+ボタンから必要な数だけプロファイルを作成します。
名前は文字コード名がよいでしょう。
コマンドでプロファイルを切り替える
$ echo '\033]1337;SetProfile=プロファイル名\a'で任意のプロファイルに切り替えることができます。utf-8に切り替えてみる
$ echo '\033]1337;SetProfile=utf-8\a' $ cat test.txt aaa あああeucに切り替えてみる
$ echo '\033]1337;SetProfile=euc\a' $ cat test.txt aaa 秧???????参考:https://www.iterm2.com/documentation-escape-codes.html
シェルに切り替えコマンドを登録する
毎回コマンドを打つのは面倒なのでbash_profileや.zshrcに登録しておきます。
zshrcを更新後、
source .zshrcコマンドやログインし直して設定値を読み込み直します。alias utf="echo -e '\033]1337;SetProfile=utf-8\aencording:utf-8'" alias euc="echo -e '\033]1337;SetProfile=euc\aencourding:euc'"簡単に文字コードを切り替えることができるようになりました。
$ utf encoding:utf-8 $ cat test.txt aaa あああ$ euc encoding:euc $ cat test.txt aaa 秧???????
- 投稿日:2019-03-23T20:43:33+09:00
 
Mac × VagrantでWindows7 × IE11の環境をつくる!
はじめに
MacでWebサイトの開発を行っていると、「IEやEdgeでうまく表示できません」などの報告が上がってくるかと思います。
IE・Edgeの環境で確認や修正を行うための手段として、Windowsマシンを買うなり、MacにBootcampを入れるなりが考えられますが、
表示の確認や修正だけの場合であればそこまでコストをかけたくないというのがほとんどだと思います。そんな中、Microsoftが実はInternet ExplorerやMicrosoft Edgeの仮想マシンを用意してくれているため、それを使用してローカルに仮想環境を準備することができます。(※1)
そこで今回は、自分のMacにVagrant(Virtual Box)で仮想環境を用意して、実際にIE11を動かすところまで行いたいと思います。
※1 2019年3月時点では、以下の環境の仮想マシンを使用できます。
- InternetExplorer 8 (Windows7)
 - InternetExplorer 9 (Windows7)
 - InternetExplorer 10 (Windows7)
 - InternetExplorer 11 (Windows7)
 - InternetExplorer 11 (Windows8.1)
 - MicrosoftEdge (Windows10)
 環境
- macOS Mojave(10.14.3)
 - VirtualBox
 - Vagrant
 VirtualBox
以下からmacOS版をダウンロード。
https://www.virtualbox.org/wiki/Downloadspkgファイルを開いて、指示に従いインストール。
Vagrant
以下からmacOS版をダウンロード。
https://www.vagrantup.com/downloads.htmlpkgファイルを開いて、指示に従いインストール。
Vagrant用の仮想マシンを取得
以下にアクセス
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
Virtual machineのプルダウンからWindows7 IE11用の仮想マシンである、「IE11 on Win7 (x86)」を選択
ダウンロードしたzipファイルを解凍
私の環境(macOS Mojave)ではfinder上からは解凍できず、コマンドラインからunzipコマンドを使うと解凍できました。terminal$ unzip IE11.Win7.Vagrant.zipコマンドラインからも解凍できない場合は、「The Unarchiver」などのツールをインストールして解凍を行ってください。
完了すると、
IE11 - Win7.boxというファイルを確認できるかと思います。
※ フォームの下部に以下のような注意書きがありますが、気にすべきは90日で有効期限が切れるということでしょうか。
ダウンロードした仮想マシンをVagrantで起動
1. ダウンロードしたboxを追加
--name オプションでboxの名称を指定する必要があります。今回は「win7_ie11」とします。terminal$ vagrant box add IE11\ -\ Win7.box --name win7_ie112. 適当なディレクトリを用意し、
vagrant initコマンドで初期化とVagrantfileの作成を行うterminal$ mkdir ie11 $ cd ie11 $ vagrant init3. Vagrantfileを編集
VagrantfileVagrant.configure("2") do |config| # vagrant box addで追加したbox名を指定 config.vm.box = "win7_ie11" # GUIの使用とメモリの設定 config.vm.provider "virtualbox" do |vb| vb.gui = true vb.memory = "2048" end # ゲストOSを指定 config.vm.guest = "windows" # SSHの設定 config.ssh.username = "IEUser" config.ssh.password = "Passw0rd!" config.ssh.insert_key = false config.ssh.shell = 'sh -l' endSSHのユーザーとパスワードは、仮想マシンをダウンロードしたサイトにある、View installation instructionsのリンク先を参照。
4. 仮想マシンを起動
terminal$ vagrant up起動が無事成功すると、Windows7のデスクトップ画面が表示されます!
※ vagrant upを実行後、terminalでタイムアウトのエラーが表示されている場合は、Vagrantfileにタイムアウトの設定を追加すると表示されなくなります。
時間は任意に指定してください。Vagrantfileconfig.vm.boot_timeout = 600まとめ
Microsoftが用意してくれている仮想マシンを使うことで、簡単にWindows×IEの環境を用意することができました!
動作はもっさりしてしまうかもしれませんが、
最終的な成果物をWindows環境でも確認する場合など、限定的な用途においては十分な環境なのではないかと思います。
- 投稿日:2019-03-23T17:06:24+09:00
 
[Mysql][Error][Mac] テーブル一覧をShowできるが、Selectできない場合
理由はわからないが、(電源切れによる突然の再起動か)
特定のDatabase ファイルが壊れたようだ。mysql> SHOW TABLES; +-----------------------+ | Tables_in_database | +-----------------------+ | TABLE_ONE | | TABLE_TWO | | TABLE_THREE | +-----------------------+ mysql> SELECT * FROM TABLE_ONE; ERROR 1146 (42S02): Table 'database.TABLE_ONE' doesn't existmysqlcheck --all-databases --auto-repair
で原因を探ってみるとmysqlcheck -u root -p --all-databases --auto-repair mysql.user OK 中略.. TABLE_ONE.table Error : Table 'teble_one.table' doesn't exist status : Operation failedどうやら特定のデータベースのみ、壊れているようだ。
そこで、
今回はテスト環境で、データもたいしてなかったので
drop database して再度 Create しなおした。
- 投稿日:2019-03-23T15:10:33+09:00
 
VeraCryptのビルド on Mac
本記事は筆者個人の環境でのVeraCryptビルド事例を備忘録として記録しただけのものです。
公式ビルド/インストール手順が必要な場合は、必ず公式サイトの手順を参照してください。
また、本記事は自分でビルドしたバイナリを試走することだけが目的ですので、インストールはしません。環境
Xcode をインストールしておきます。筆者環境では9.4.1でした。
Software Version OS macOS High Sierra 10.13.6 Xcode 9.4.1 VeraCrypt 1.23 wxWidgets 3.0.4 ビルド事例
公式サイトから
VeraCrypt_1.23_Source.tar.bz2
を入手し、適当なディレクトリ(ここではVeraCrypt_1.23)に展開しておきます。mkdir VeraCrypt_1.23 mv VeraCrypt_1.23_Source.tar.bz2 VeraCrypt_1.23 cd VeraCrypt_1.23 tar jxvf VeraCrypt_1.23_Source.tar.bz2 cd ..(この後、パーミッションの問題でなぜかエラーが出たので、
chmod -R u+w srcなどで各ディレクトリに書き込み権限を与える操作を行いました。筆者の環境固有の問題でしょうか?)wxWidgets 3.0.4 のソースも同様に展開し、上記
VeraCrypt_1.23に並べて配置しておきます。
ディレクトリレイアウトは下記のようになります。$ ls wxWidgets-3.0.4 VeraCrypt_1.23 VeraCrypt_1.23: doc License.txt README.md src Tests Translations wxWidgets-3.0.4: acinclude.m4 build demos interface regen utils aclocal.m4 BuildGit.txt descrip.mms lib samples version-script.in appveyor.yml config.guess distrib locale setup.h.in wx-config.in art config.sub docs Makefile.in setup.h_vms wx-config-inplace.in autoconf_inc.m4 configure include misc src wxwin.m4 autogen.sh configure.in install-sh mkinstalldirs testsビルドを実行する前に
VeraCrypt_1.23/src/Build/build_veracrypt_macosx.shの内容を確認し、必要に応じて修正します。デフォルトでは
VC_OSX_TARGET=10.7
となっています。筆者環境では
VC_OSX_TARGET=10.13
への修正が必要でした。# define the SDK version to use. We use 10.7 by default export VC_OSX_TARGET=10.13 echo "Using MacOSX SDK $VC_OSX_TARGET"ビルドを実行します。
cd VeraCrypt_1.23 cd src/Build ./build_veracrypt_macosx.sh
packageターゲットには失敗しますが、コンパイル&リンクができていれば実行はできます。
成功すると、VeraCrypt_1.23/src/Main/VeraCryptができます。References
以上。
- 投稿日:2019-03-23T15:03:33+09:00
 
Microsoft Remote DesktopでJISキーボードを有効にする方法
MacからMicrosoft純正のアプリである「Microsoft Remote Desktop」でリモートのWindowsに接続するとキーボードのマッピングが正しく行われないことがあります。
原因は以下に詳しく書かれています。
Mac からのRDP 接続で日本語キーボードを設定するアプリがアップデートされない限り無理かと思いましたが、リモート側の設定でクライアントの設定(誤ったキーボード情報)を無視するように出来ました。
色々な記事を参考にして解決できましたので、参照したサイトと作業手順を纏めてみました。
対処方法
レジストリエディタで修正を行います。(2箇所あります。)
※言語に「日本語」がインストールされていない場合は、先にインストールを済ませてください。
(Azureなどのクラウド上でOSを構築した場合は大抵初期状態はUSのみなので)
参考:Windows10を日本語化する1つ目
キー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\KeyboardType Mapping\JPN 名前 : 00010002の値を「kdb106.dll」に変更します。
参考:MacからWindowsへリモートデスクトップ接続した際の使いづらいキーボードを改善する方法
2つ目
キー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\KeyboardType Mapping\JPN 名前 : 00000000の値を「kdb106.dll」に変更します。
参考:Windows 10ではIgnoreRemoteKeyboardLayoutが効かない?
"kbd106.dll" "kbd106n.dll"
以下の違いがあるようです。
DLL名 違い kbd106.dll 「Shift」+「Ctrl」+「カタカナ ひらがな」でカナロック kbd106n.dll 「Ctrl」+「Caps Lock」でカナロック 








