読者です 読者をやめる 読者になる 読者になる

Mac版VirtualBox5のフルスクリーンでメニューバーを非表示にする設定(ゲストOS:Windows10)

MacVirtualBox 5にWindows10を入れて使っていますが、最大化表示(フルスクリーン設定)しても、画面の上部にマウスカーソルを持って行くと、Macのメニューバーが表示されてしまいます。
ゲストOSに集中して操作するには使い勝手が少々悪いです。

メニューを非表示にする設定を調べてみたところ、以下のフォーラムに書いていました。

https://forums.virtualbox.org/viewtopic.php?f=2&t=21676 (の一番下)

この方法だと、確かにメニューは出なくなります。ただ、ゲストOSに限らず、すべてのVirutalBoxのアプリでメニューが非表示になります。
そのため、必要な設定があったりする場合は、たまに元の設定に戻さないといけないかもしれません。


簡単にまとめると以下の手順となります。
info.plistファイルを触りますので、自己責任という感じです。

  1. Finderでアプリケーションを開く
  2. VirtualBox.appを右クリックして、「パッケージの内容を表示」
  3. Contents/Resourcesまで行き、VirtualBoxVM.appを右クリックして 「パッケージの内容を表示」
  4. ContentsにInfo.plistがあるので、デスクトップにコピーする(権限があれば直接編集できるかも)
  5. テキストエディタで編集して、"LSCanProvideIMVideoDataSource"と "NSHighResolutionCapable"の間に以下の文言を追加する
    • LSUIElement 1
  6. 保存して、もとのInfo.plistに上書き保存する(管理者権限のパスワードを入力する)
  7. この設定はメモリに保存されるそうなので、一度Macをログオフして、再度ログインする

ちなみに、最大化でメニューが非表示となっても、ショートカットキーは有効です。最大化モードやスケールモードなどを切り替えたいときは、あらかじめ設定しているショーットカットキーをメモしておいて使うと良さそうです。
また、MacVirtualBoxのデフォルトホストキーは左コマンドボタンです。Windowsでは、ホストキーを右コマンドボタンにしておくことをおすすめします。そうすると左コマンドボタンが、Windowsキーになります。

Azureサブスクリプションファイル(*.publishSettings)のダウンロードURL

Azure Management Studioの設定をするときに、Azureのサブスクリプションファイル(*.publishSettings)をダウンロードしてインポートする必要があったので。以下のURLから。

https://go.microsoft.com/fwlink/?LinkId=254432
→( https://manage.windowsazure.com/publishsettings

自分メモ(Macで入れるソフト)

Evernoteに書いているけど、どこに書いたか忘れがちなので。
2017/4更新


Atom
SublimeText Atomで使わなくなった
Visual Studio Code
Karabiner (KeyRemapForMac) 主にFor PC Usersのところ
http://d.hatena.ne.jp/ttaka_tmp/20110414/1302770240 PCKeyboardHackはSeil)
Sierraで使えなくなったので↓へ
Hammerspoon
Karabiner Elements
BetterTouchTool(ウインドウズサイズ合わせ)有料化されたので
shiftlt ウィンドウ合わせ
MemoryClean最近はなくても気にならない
BatteryHealth最近はなくても気にならない
OneDrive
ScrollReverser(BetterTouchToolで代用できそう)
Google日本語入力
SimpleCap(スクリーンショットのキャプチャソフト)
TextWringrer最近はなくても気にならない
Firefox
Chrome
Opera最近はなくても気にならない
FreeMindXMindを試してみる
XMind
Hoster
iTerm
EverNote 2台限定なので微妙
OneNote
HyperSwitch(Alt+tabによる切り替え)4本指下スワイプがあるので、なくても大丈夫
MS Office
Pocketあまり使わない
Wunderlist
Skype
Slack
Chatwork
Snap(Cmd+1でDock呼び出し)
Alfred(ラウンチャー)Alfred
TweetDeckあまり使わない
Twitter
VMWare Fusion Virtual Box (GuestAdtionsCD後、ホストキー右に変更。http://pc-karuma.net/mac-virtualbox-host-key/
WinArchiveLite
XCode
Filezila(FTP使う場合)
SourceTree
Docker
Eclipse
Java
itsycal
Mowglii - Itsycal for Mac
シンプルなカレンダー
プリンタドライバ
VPN設定 (環境設定-ネットワーク-VPN-PPTPとか環境に応じて)

Azure Storage Emulatorのインストールエラー(CAQuietExec Failed 1603)


申し訳ございません。次の製品をインストールできませんでした。
Microsoft Azure strage Emulator - 3.4 この製品は正常にインストールされませんでした。


Windows Azure Storage Emulator - v3.4、製品バージョン: 3.4.6848.0、製品の言語: 1033、製造元: Microsoft Corporation、インストールの成功またはエラーの状態: 1603

というインストールエラーが出た場合の対策のメモです。





http://normalian.hatenablog.com/entry/2015/04/13/145616

にとても良くまとめられています。



私の環境でも「C:\users\<ユーザー名>\*.mdf と *.ldf」を移動後、コマンドプロンプトから

sqllocaldb stop v11.0
sqllocaldb delete v11.0
sqllocaldb create v11.0

とやったものの相変わらず、以下のエラーでした。

CAQuietExec: Windows Azure Storage Emulator 3.4.0.0 command line tool
CAQuietExec: Error: Cannot create database.
CAQuietExec: Error 0xfffffff3: Command line returned an error.
CAQuietExec: Error 0xfffffff3: CAQuietExec Failed
CustomAction RunInitialize returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)

困っていたところ、

http://stackoverflow.com/questions/23307477/azure-storage-emulator-wont-install

に、

sqllocaldb stop MSSQLLocalDB
sqllocaldb delete MSSQLLocalDB
sqllocaldb create MSSQLLocalDB

という記載がありました。
同じく、こちらも実行したところ、Windows Azure Storage Emulatorを正常にインストールできました。


LocalDBを消すので、操作にはご注意ください。

拡張メソッドのライブラリ一覧(C#)

OSSC#の拡張メソッドのライブラリを調べたメモです。
たくさんありつつも、デファクトスタンダートといったものはない印象です。

ASP.NET5(C#)をCoreOSのDockerで動かす

ASP.NET5の「1.0.0-beta4」を、AzureのCoreOSのDcokerで動かす手順をメモりました。

ASP.NET vNextのDocker

https://github.com/aspnet/aspnet-docker
https://registry.hub.docker.com/u/microsoft/aspnet/


AzureでCoreを作成
Dockerを使うためにCoreOSを使用します。
Azureでインスタンスを作るには、ギャラリーからCoreOSのStableを選択するだけです。


とりあえずはパスワードを指定しておけば、大丈夫です。


ASP.NETアプリを外からつながせたい場合はエンドポイントでHTTPを追加します。

CoreOSでは、DockerもGitも使える状態になっています。


Linux(CoreOS)にSSHクライアントから接続
プロビジョニングが終わったら、PuttyなどのSSHクライアントで繋ぎます。

#ホームへ
cd 

# 作業フォルダを作って移動
mkdir aspnet
cd aspnet

# ASP.NETのサンプルをGitから取得
git clone git://github.com/aspnet/Home.git

# 今回のデプロイ用のDockerの設定ファイルを作成
vim Dockerfile


Dockerファイルの編集
Dockerfileをvimエディタで作成し、以下の内容で保存します。(保存はESCキー後の、ZZ、終了は:q!)

FROM microsoft/aspnet:1.0.0-beta4
ADD ./Home/samples/1.0.0-beta4 /app
WORKDIR /app/HelloWeb
RUN ["dnu", "restore"]

EXPOSE 5004
ENTRYPOINT ["dnx", ".", "kestrel"]
  • Dockerfileの説明
    • beta4のMicrosoftのDockerはMono4.0.1をベースにしています。
    • Gitでとってきたサンプルファイルを渡し、dnu restore(旧 kpm restore)コマンドを実行しています。
    • その後ポート5004で公開して、dnx kestrel (旧k kestrel)コマンドを実行しています。
    • kestrelLinuxでも動くHTTPサーバーです。

この時点でのファイル構造(関係ないところは省略)

/home/aoki/aspnet

--Dockerfile
--Home
--.gitattributes
--.gitignore
--CONTRIBUTING.md
--GettingStartedDeb.md
--Home.sln
--LICENSE.txt
--README.md
--dnvm.cmd
--dnvm.ps1
--dnvm.sh
--dnvminstall.ps1
--dnvminstall.sh
--samples
--1.0.0-beta4
--HelloWeb
--HelloWeb.xproj
--Properties
--launchSettings.json
--Startup.cs
--project.json
--wwwroot
--image.jpg
--NuGet.Config



Dockerイメージ作成
Dockerイメージを作成します。

sudo docker build -t aspnetvnext .

しばらく待ちます。dnu restoreコマンドでアセンブリの取得をするので、時間がかかります。



実行結果

Sending build context to Docker daemon 2.177 MB
Sending build context to Docker daemon
Step 0 : FROM microsoft/aspnet:1.0.0-beta4
---> 94b7c4941bcc

Step 1 : ADD ./Home/samples/1.0.0-beta4 /app
---> 7577bcb65df0
Removing intermediate container dfdf4ce1d496

Step 2 : WORKDIR /app/HelloWeb
---> Running in 5c965567463e
---> c2445e98ce6b
Removing intermediate container 5c965567463e

Step 3 : RUN dnu restore
---> Running in 84f4580847b8
Restoring packages for /app/HelloWeb/project.json
GET https://www.myget.org/F/aspnetvnext/api/v2/FindPackagesById()?Id='Kestrel'.
GET https://nuget.org/api/v2/FindPackagesById()?Id='Kestrel'.
(省略)
OK https://www.myget.org/F/aspnetvnext/api/v2/package/System.Security.Cryptography.Hashing/4.0.0-beta-22907 643ms
(省略)
Installing System.Security.Cryptography.Hashing 4.0.0-beta-22907
Writing lock file /app/HelloWeb/project.lock.json
Restore complete, 565334ms elapsed
---> c08b36d2b243
Removing intermediate container 84f4580847b8

Step 4 : EXPOSE 5004
---> Running in 9c7ee0026d35
---> 6a7785a4718d
Removing intermediate container 9c7ee0026d35

Step 5 : ENTRYPOINT dnx . kestrel
---> Running in b092448c2d29
---> fbc1a2b1c89a
Removing intermediate container b092448c2d29
Successfully built fbc1a2b1c89a

STEP順に実行されます。
(以前と異なり、project.jsonだけではなく、project.lock.jsonなるものが生成されていました。人が触らないファイルのように見えます。)




Dockerイメージの確認

sudo docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
aspnetvnext         latest              fbc1a2b1c89a        11 minutes ago      778.7 MB

aspnetvnextという名前のDockerイメージができています。


Dockerコンテナに配置
Dockerのrunコマンドで、コンテナに配置します。

sudo docker run -t -p 80:5004 aspnetvnext

ポート5004を80に割り当てて実行。
エラーがあれば表示されます。


sudo docker ps -a

上記コマンドで実行できてているDockerコンテナを確認します。




正常起動した場合は

sudo docker stop <コンテナID>

で停止できます。


エラーがなければ、Dockerを-d(デーモン)オプションを付けてサービス実行します。(こちらは、エラーがあっても気づきません。)

 sudo docker run -t -d -p 80:5004 aspnetvnext

確認
画面から確認します。

無事動いていることを確認できました。



ASP.NET MVC 5実践プログラミング

ASP.NET MVC 5実践プログラミング」を読みました。
この本は、ASP.NET MVCを学ぶ上で最良の一冊です。

ASP.NET MVCは、昨今のMicrosoft Web技術のメインストリームといえる技術で、最新はバージョン5です。
Webにも多くの情報がありますが、最新のASP.NET MVCを効率的に学びたいときは、この本を読むことをお勧めします。

ASP.NET MVC5実践プログラミング

ASP.NET MVC5実践プログラミング

簡単なサンプルから始まり、徐々に理解を深めることができます。
そして、Razorの一つ一つの構文や説明も細かく書いています。

ASP.NETを活用して、素敵なサイトを作りたい方におすすめの一冊です。