20211128のMacに関する記事は7件です。

[Mac] UnityのスクリプトをVisual Studio Codeで開く

Macの手順はWindowの手順と微妙に違ったのでメモします。 1. [Unity] → [Preferences] 2. [External Tools] を選び、図のドロップダウンからVisual Studio Codeを選ぶ。 以上です。 確認環境 Unity 2019.4.31f1 Personal MacBook Pro (16-inch 2019) macOS Monterey 12.0.1 参考文献 UnityでVisual Studio Codeを使用できるようにするまでの手順 https://qiita.com/riekure/items/c45868f37a187f8e1d69 Unity Editor のスクリプトファイルを VSCode で開く方法 https://qiita.com/Futo_Horio/items/c7874e7afaaf12b28d6f
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Karabiner-element&SwitchAudioSource&USBテンキーパッドでサウンド出力コントロール

薄い単体テンキーでUSB-DACの切り替えをしたい、ついでに音楽再生コントロールもしたい、Keyboard Maestroではどうしても外部USBデバイスはキー入力されてしまうのでKarabinarしかないけど、json書くのか…から始まった内容です。 なんてことはない内容だけど、メモとして。絶対忘れるから。 でははじめてのjson書いてみた、スタート。 SwitchAudioSourceをインストール オーディオ入力/出力を切り替えるコマンド。 brew install SwitchAudioSource オーディオデバイスをリスト出力、デバイスを特定する。 SwitchAudioSource -a -f json デバイスネームやidでも切り替えられるけれど、名前だとうまく拾えないことがあるし、idは再起動で変わるのでuidを使う。 リストから例として: {"name": "FOSTEX HP-A3", "type": "output", "id": "136", "uid": "AppleUSBAudioEngine:FOSTEX:32bit DAC:14210000:3"}``` 一意の数値(文字列)が1421000なので SwitchAudioSource -u "1421000" で切り替わる。 json書く karabiner-elementsのmiscからフォルダを開く。不可視フォルダだし設定ウインドウひらきっぱだし。 /Users/(USER)/.config/karabiner/assets/complex_modifications/ 内に、数字.jsonファイルを作る。数字じゃなくてもいいけど認識されないことがあるっぽい?変にハマりたくないから大人しく数字ファイルにする。 以下細切れだけどつなげてください。 { "title": "Music", "rules": [ { "description": "Enter_to_play", "manipulators": [ { "conditions": [ { "type": "device_if", "identifiers": [ { "vendor_id": xxxx, "product_id": xxxxx } ] } ], ベンダー、デバイスIDはkarabinerのデバイスから確認する。 "from": { "key_code": "return_or_enter" }, "to": [{ "key_code": "play_or_pause" }], "type": "basic" } ] }, key_codeはkarabinerのイベントビューアで取得する。 { "description": "Minus_to_foward", "manipulators": [ { "conditions": [ { "type": "device_if", "identifiers": [ { "vendor_id": xxxx, "product_id": xxxxx } ] } ], "from": { "key_code": "keypad_hyphen" }, "to": [{ "key_code": "fastforward" }], "type": "basic" } ] }, { "description": "plus_to_rewind", "manipulators": [ { "conditions": [ { "type": "device_if", "identifiers": [ { "vendor_id": xxxx, "product_id": xxxxx } ] } ], "from": { "key_code": "keypad_plus" }, "to": [{ "key_code": "rewind" }], "type": "basic" } ] }, そしてここよ。karabinerのshell_commandよ。 { "description": "asterisk_to_switch_bose", "manipulators": [ { "conditions": [ { "type": "device_if", "identifiers": [ { "vendor_id": xxxx, "product_id": xxxxx } ] } ], "from": { "key_code": "keypad_asterisk" }, "to": [{ "shell_command": "/usr/local/bin/SwitchAudioSource -u '14341000' ; /usr/bin/osascript -e 'tell application \"GeekTool Helper\" to refresh all'" }], "type": "basic" } ] }, geektoolにデバイス名を、 SwitchAudioSource -c で表示させているので、切り替えたらリフレッシュで即更新されるようにしておく。 { "description": "9_to_switch_K5", "manipulators": [ { "conditions": [ { "type": "device_if", "identifiers": [ { "vendor_id": xxxx, "product_id": xxxxx } ] } ], "from": { "key_code": "page_up" }, "to": [{ "shell_command": "/usr/local/bin/SwitchAudioSource -u '14220000' ; /usr/bin/osascript -e 'tell application \"GeekTool Helper\" to refresh all'" }], "type": "basic" } ] }, { "description": "6_to_switch_A3", "manipulators": [ { "conditions": [ { "type": "device_if", "identifiers": [ { "vendor_id": xxxx, "product_id": xxxxx } ] } ], "from": { "key_code": "right_arrow" }, "to": [{ "shell_command": "/usr/local/bin/SwitchAudioSource -u '14210000' ; /usr/bin/osascript -e 'tell application \"GeekTool Helper\" to refresh all'" }], "type": "basic" } ] }, そして、設定していないキーは全部無効にする(最後に書いておく)。 デバイスを限定すること。fromに"any": "key_code"で全部、toブロックを書かないことで葬り去る。 { "description": "そのほか全部無効", "manipulators": [ { "conditions": [ { "type": "device_if", "identifiers": [ { "vendor_id": xxxx, "product_id": xxxxx } ] } ], "from": { "any": "key_code" }, "type": "basic" } ] } ] } 保存したらkarabinerのComplex modificationsタブから Add rule descriptionが全部出てくればjsonは正しく書けている。出てこないならカッコの対応やスペルチェック。 必要なルールを追加して動作チェック! 以上! メディアキー動作をiTunes(Music.app)に限定させたいとき keycode:playpause等で指定すると、Keynoteなどが前面にあるときはそちらにフォーカスしてしまう。 Music.appなどに操作を限定したいときは、toのKeycodeを "shell_command": "/usr/bin/osascript -e 'tell application \"Music\" to playpause' " とosascriptでアプリを限定する。 ちなみにMusic.appの場合、スクリプトの指定を playpause:再生/一時停止 next track:次の曲 previous track:前の曲/先頭へ とする。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Mac で Spleeter を使ってみた

はじめに なんとなく、Pythonを使った何かを体験したかったところで、この Spleeter の情報を見かけて、実際に使ってみることにしました。 Spleeterって? Spleeterは、フランスの音楽配信サイトである Deezerが開発した、AI を利用して、音楽をパート別を分離するアプリケーションソフトです。 任意の楽曲をこのアプリに読み込ませるとボーカル、ベース、ドラムなどのパートに分離した音声ファイルを出力することができます。 最近はご無沙汰なのですが、DTMの打ち込みをやるにあたり、耳コピは非常につらいものがありますので、これが少しでも低減できるのは嬉しいものです。 Spleeterの導入手順 SpleeterはPythonで動作するアプリケーションですので、Pythonの環境を構築してからSpleeterをインストールします。 ここでは、以下のようなmacOSの環境で構築、インストールしました。 項目 OS macOS Big Sur 11.5.2 ハード MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports) CPU 3.1GHz デュアルコア Intel Core i5 メモリ 8GByte Homebrewのインストール まず、Homebrewをインストールします。すでにインストールされて場合はこれをスキップしてください。 ①ターミナルを起動します。 ②Homebrewのページに行き、ここに表示されるコマンドをコピー&ペーストします。 % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ==> Checking for `sudo` access (which may request your password)... Password: ==> This script will install: /usr/local/bin/brew /usr/local/share/doc/homebrew /usr/local/share/man/man1/brew.1 /usr/local/share/zsh/site-functions/_brew /usr/local/etc/bash_completion.d/brew /usr/local/Homebrew ==> The following new directories will be created: /usr/local/Cellar /usr/local/Caskroom Press RETURN to continue or any other key to abort: ※Press RETURN to continue or any other key to abort: では Retern(Enter)キーを押下します。 ==> /usr/bin/sudo /bin/mkdir -p /usr/local/Cellar /usr/local/Caskroom ==> /usr/bin/sudo /bin/chmod ug=rwx /usr/local/Cellar /usr/local/Caskroom ==> /usr/bin/sudo /usr/sbin/chown katz /usr/local/Cellar /usr/local/Caskroom ~~~ 中略 ~~~ Error: homebrew-core is a shallow clone. homebrew-cask is a shallow clone. To `brew update`, first run: git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow These commands may take a few minutes to run due to the large size of the repositories. This restriction has been made on GitHub's request because updating shallow clones is an extremely expensive operation due to the tree layout and traffic of Homebrew/homebrew-core and Homebrew/homebrew-cask. We don't do this for you automatically to avoid repeatedly performing an expensive unshallow operation in CI systems (which should instead be fixed to not use shallow clones). Sorry for the inconvenience! Failed during: /usr/local/bin/brew update --force --quiet ③エラーが出てしまいました。エラ〜メッセージにしたがってコマンドを実施します。 % git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow remote: Enumerating objects: 563045, done. remote: Counting objects: 100% (563035/563035), done. remote: Compressing objects: 100% (199938/199938), done. remote: Total 554214 (delta 357072), reused 548563 (delta 351428), pack-reused 0 Receiving objects: 100% (554214/554214), 201.13 MiB | 8.05 MiB/s, done. Resolving deltas: 100% (357072/357072), completed with 4197 local objects. From https://github.com/Homebrew/homebrew-core 7d8991e9851..c17ee8e4b64 master -> origin/master % git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow remote: Enumerating objects: 351943, done. remote: Counting objects: 100% (351936/351936), done. remote: Compressing objects: 100% (103184/103184), done. remote: Total 345455 (delta 246585), reused 340583 (delta 241717), pack-reused 0 Receiving objects: 100% (345455/345455), 137.32 MiB | 7.88 MiB/s, done. Resolving deltas: 100% (246585/246585), completed with 3252 local objects. From https://github.com/Homebrew/homebrew-cask 56c5e308ba..531e6ba041 master -> origin/master ④②を再実行します。 % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ==> Checking for `sudo` access (which may request your password)... Password: ==> This script will install: /usr/local/bin/brew /usr/local/share/doc/homebrew /usr/local/share/man/man1/brew.1 /usr/local/share/zsh/site-functions/_brew /usr/local/etc/bash_completion.d/brew /usr/local/Homebrew Press RETURN to continue or any other key to abort: ==> /usr/bin/sudo /usr/sbin/chown -R katz:admin /usr/local/Homebrew ==> Downloading and installing Homebrew... Updating files: 100% (2716/2716), done. HEAD is now at 4c3f32534 Merge pull request #12482 from Bo98/zero_ar_date Updated 2 taps (homebrew/core and homebrew/cask). ==> Installation successful! ==> Homebrew has enabled anonymous aggregate formulae and cask analytics. Read the analytics documentation (and how to opt-out) here: https://docs.brew.sh/Analytics No analytics data has been sent yet (nor will any be during this install run). ==> Homebrew is run entirely by unpaid volunteers. Please consider donating: https://github.com/Homebrew/brew#donations ==> Next steps: - Run brew help to get started - Further documentation: https://docs.brew.sh ⑤Homebrewのバージョン確認によりインストール完了を確認します。 % brew -v Homebrew 3.3.5 Homebrew/homebrew-core (git revision 48bd7e9937c; last commit 2021-11-28) Homebrew/homebrew-cask (git revision 531e6ba041; last commit 2021-11-28) pyenvのインストール pyenv は、システム上に複数バージョンのPythonを同居させて使い分けられるようにするものです。Pythonを扱う際にインストールしておくと何かと便利なようです。 ① Homebrew で pyenv をインストールします。 % brew install pyenv Updating Homebrew... ==> Auto-updated Homebrew! Updated 1 tap (homebrew/core). ==> Updated Formulae Updated 2 formulae. Error: The following directories are not writable by your user: /usr/local/share/zsh /usr/local/share/zsh/site-functions You should change the ownership of these directories to your user. sudo chown -R $(whoami) /usr/local/share/zsh /usr/local/share/zsh/site-functions And make sure that your user has write permission. chmod u+w /usr/local/share/zsh /usr/local/share/zsh/site-functions エラーが出てしまいました。 権限などが不足しているようです。 エラーメッセージにしたがって追加します % sudo chown -R $(whoami) /usr/local/share/zsh /usr/local/share/zsh/site-functions Password: % chmod u+w /usr/local/share/zsh /usr/local/share/zsh/site-functions ③あらためて①を実行します。 % brew install pyenv ==> Downloading https://ghcr.io/v2/homebrew/core/m4/manifests/1.4.19 ######################################################################## 100.0% ~~~ 中略 ~~~ ==> Installing pyenv ==> Pouring pyenv--2.2.2.big_sur.bottle.tar.gz ? /usr/local/Cellar/pyenv/2.2.2: 834 files, 2.8MB ④pyenvがインストールできたか確認します。 % pyenv -v pyenv 2.2.2 ⑤シェルの環境変数などの定義を追加します。 % echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc % echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.zshrc % echo 'eval "$(pyenv init -)"' >> ~/.zshrc % source ~/.zshrc ※export PATH="$PYENV_ROOT/shims:$PATH" の部分ですが、古いPythonバージョンでは export PATH="$PYENV_ROOT/bin:$PATH" のようです。この後に手順にある Pythonバージョンの切り替えがうまくいかない場合はこの部分を見直してみてください。 Pythonのインストール Pythonをインストールします。Spleeterは、2021年11月28日現在、Python3.8.xまでにしか対応していないようなので、Python3.8の最新版をインストールします。 ①Pythonをインストールします。 % pyenv install 3.8.12 python-build: use openssl@1.1 from homebrew python-build: use readline from homebrew Downloading Python-3.8.12.tar.xz... ~~~ 中略 ~~~ python-build: use zlib from xcode sdk Installed Python-3.8.12 to /Users/katz/.pyenv/versions/3.8.12 ②pythonコマンドで使用するPythonバージョンを、インストールしたバージョンに設定します、 % pyenv global 3.8.12 % python -V Python 3.8.12 ffmpegのインストール ffmpegは、動画や音声を加工するのに強力で万能なツールアプリケーションです。 ①Homebrewを使って ffmpeg をインストールします。 % brew install ffmpeg Updating Homebrew... ==> Auto-updated Homebrew! Updated 1 tap (homebrew/core). ==> Updated Formulae Updated 5 formulae. ==> Downloading https://ghcr.io/v2/homebrew/core/brotli/manifests/1.0.9 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/brotli/blobs/sha256:9d3009fd246d0f6cf9fd11d0a3bd388f6c043c75fa302decf0dd935163fb0f4b ~~~ 中略 ~~~ ==> Installing ffmpeg ==> Pouring ffmpeg--4.4.1_3.big_sur.bottle.tar.gz ? /usr/local/Cellar/ffmpeg/4.4.1_3: 276 files, 51MB Spleeterのインストール ここまででようやく Spleeter インストールの準備ができましたので、Spleeterをインストールします。 ①pip を利用して Spleeter をインストールします。 % pip install spleeter Collecting spleeter Downloading spleeter-2.3.0-py3-none-any.whl (51 kB) |████████████████████████████████| 51 kB 3.7 MB/s Collecting llvmlite<0.37.0,>=0.36.0 Downloading llvmlite-0.36.0-cp38-cp38-macosx_10_9_x86_64.whl (18.5 MB) |████████████████████████████████| 18.5 MB 3.6 MB/s ~~~ 中略 ~~~ Successfully installed absl-py-0.15.0 anyio-3.4.0 appdirs-1.4.4 astunparse-1.6.3 audioread-2.1.9 cachetools-4.2.4 certifi-2021.10.8 cffi-1.15.0 charset-normalizer-2.0.8 click-7.1.2 decorator-5.1.0 ffmpeg-python-0.2.0 flatbuffers-1.12 future-0.18.2 gast-0.4.0 google-auth-2.3.3 google-auth-oauthlib-0.4.6 google-pasta-0.2.0 grpcio-1.34.1 h11-0.12.0 h2-4.1.0 h5py-3.1.0 hpack-4.0.0 httpcore-0.13.7 httpx-0.19.0 hyperframe-6.0.1 idna-3.3 importlib-metadata-4.8.2 joblib-1.1.0 keras-nightly-2.5.0.dev2021032900 keras-preprocessing-1.1.2 librosa-0.8.0 llvmlite-0.36.0 markdown-3.3.6 norbert-0.2.1 numba-0.53.1 numpy-1.19.5 oauthlib-3.1.1 opt-einsum-3.3.0 packaging-21.3 pandas-1.3.4 pooch-1.5.2 protobuf-3.19.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 pycparser-2.21 pyparsing-3.0.6 python-dateutil-2.8.2 pytz-2021.3 requests-2.26.0 requests-oauthlib-1.3.0 resampy-0.2.2 rfc3986-1.5.0 rsa-4.8 scikit-learn-1.0.1 scipy-1.7.3 six-1.15.0 sniffio-1.2.0 soundfile-0.10.3.post1 spleeter-2.3.0 tensorboard-2.7.0 tensorboard-data-server-0.6.1 tensorboard-plugin-wit-1.8.0 tensorflow-2.5.0 tensorflow-estimator-2.5.0 termcolor-1.1.0 threadpoolctl-3.0.0 typer-0.3.2 typing-extensions-3.7.4.3 urllib3-1.26.7 werkzeug-2.0.2 wheel-0.37.0 wrapt-1.12.1 zipp-3.6.0 WARNING: You are using pip version 21.1.1; however, version 21.3.1 is available. You should consider upgrading via the '/Users/katz/.pyenv/versions/3.8.12/bin/python3.8 -m pip install --upgrade pip' command. ②WARNING: You are using pip version 21.1.1; however, version 21.3.1 is available. と pip のバージョンアップをうながされましたので、実施しておきます。 % pip install --upgrade pip Requirement already satisfied: pip in ./.pyenv/versions/3.8.12/lib/python3.8/site-packages (21.1.1) Collecting pip Using cached pip-21.3.1-py3-none-any.whl (1.7 MB) Installing collected packages: pip Attempting uninstall: pip Found existing installation: pip 21.1.1 Uninstalling pip-21.1.1: Successfully uninstalled pip-21.1.1 Successfully installed pip-21.3.1 ③Spleeter がインストールできたか確認します。 % spleeter --version Spleeter Version: 2.3.0 Spleeterを使ってみる Spleeter はコマンドラインを使ってパート分離を行います。 基本的なコマンドオプションは Spleeter にのっておりますのでこれを参照してください。 分離元となる音楽ファイルのフォーマットは特に問わないようです。MP3,AAC,ALAC(Apple Lossless)で分離ができることは確認できました。 ざっくりとしては、下記で分離を行うことができます。 spleeter separate -o 【出力先ディレクトリ】 -p 【分離方法】 【分離を行う音楽ファイル名】 分離方法は下記から選択します。 オプション名 分離方法 spleeter:2stems ボーカル、伴奏に分離 (-p オプションを指定しない場合のデフォルト) spleeter:4stems ボーカル、ベース、ドラム、その他に分離 spleeter:5stems ボーカル、ピアノ、ベース、ドラム、その他に分離 【spleeter:5stemsでの実行例】 % spleeter separate -o ~/output -p spleeter:5stems ~/TestMusic/AloneAgain.m4a INFO:spleeter:Downloading model archive https://github.com/deezer/spleeter/releases/download/v1.4.0/5stems.tar.gz INFO:spleeter:Validating archive checksum INFO:spleeter:Extracting downloaded 5stems archive INFO:spleeter:5stems model file(s) extracted INFO:spleeter:File /Users/katz/output/AloneAgain/piano.wav written succesfully INFO:spleeter:File /Users/katz/output/AloneAgain/vocals.wav written succesfully INFO:spleeter:File /Users/katz/output/AloneAgain/bass.wav written succesfully INFO:spleeter:File /Users/katz/output/AloneAgain/drums.wav written succesfully INFO:spleeter:File /Users/katz/output/AloneAgain/other.wav written succesfully % ls -l ~/output/AloneAgain total 381440 -rw-r--r--@ 1 katz staff 38780750 11 28 20:49 bass.wav -rw-r--r--@ 1 katz staff 38780750 11 28 20:49 drums.wav -rw-r--r--@ 1 katz staff 38780750 11 28 20:49 other.wav -rw-r--r--@ 1 katz staff 38780750 11 28 20:49 piano.wav -rw-r--r--@ 1 katz staff 38780750 11 28 20:49 vocals.wav ※分離方式の初回実行時にはモデルのアーカイブファイルをダウンロードするため少し時間がかかります。 どこまで分離できる? 手持ちの色々なジャンル(J-POP,Rock,Jazz,Fusion,Eurobeat,Dance,)の曲でspleeter:5stemsとspleeter:2stemsを試してみました。 細かい評価は省略しますが、総合的には以下の傾向でした。 ボーカルはかなり明瞭に分離できる。 spleeter:2stemsの伴奏部分(=カラオケ状態)は、ラジカセ等のボーカルカット機能よりもかなり明瞭にボーカルカットが可能。 ドラムもかなり明瞭に分離できる。 ベースは総じて聞き取りづらい。 ピアノはソロパートは聞き取りやすいがバッキングはかなり聞き取りづらい。たまにその他のパートに入ることがある。 あとがき ゆっくり検証する時間がとれないのですが、もう少しいろいろ検証してみたいです。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MacでEmEditorを使用する方法(無料のWineskinServer)

はじめに 仕事先では、EmEditor Freeを使用している。EmEditorの魅力はなんといっても巨大なファイルが高速に扱えること。 OracleのログやPostgreSQLのダンプファイルなどサクラエディタではダメなファイルでも、なんなく編集できてしまう、素晴らしい。以前、EmEditorのコマンドラインを使用して文字コードを変換する記事を書いた。 先日、新しいバージョンがリリースされた記事をみました。 以前、Macにサクラエディタをインストールした記事を書いたでの、EmEditorをインストールしてみることにしました。 環境 Mac Book Pro(2.3 GHz 8コアIntel Core i9) Monterey 12.0.1 Intel Mac上で確認しました。M1 Mac上では持参していないため未確認です。 下記サイトにて同じ仕組みで秀丸エディタとWinSCPをM1 Mac上動かしているので問題ないと思われます。 WineSkinの導入と設定 WineSkinダウンロード、最新のエンジンの導入、最新のラッパーを導入までは内容がかぶるので、サクラエディタの記事を参照してください。 ラッパーを作成 「Create New Blank Wrapper」をクリックし、好きな名前を設定( EmEditor.app とか)し「OK」ボタンをクリックすればラッパーの作成が開始されます。 作成が終わり「view folder in Finder」をクリックすれば、設定した名前のWineSkinラッパーアプリが「/Users/ユーザー名/アプリケーション/WineSkin/」の下に生成されます。 EmEditorを用意 「64 ビット ポータブル」をクリックしてzip形式でダウンロードしてください。 最初、「64 ビット インストーラー」で挑戦したのですが、待機状態のまま進まず強制終了しました。原因を調べるために試しにWindows上にインストールしてみると使用許諾の確認画面が、WineskinServer上では正しく表示されてこなかったので、ここで待機状態になっているのだろうと推測します。 EmEditorのフォルダをWineSkinラッパーに入れる 設定画面で「Install Software」を選択します。 「Move a folder inside」又は「Copy a folder inside」を選択します。今回は「Copy a folder inside」を選択しました。 ダウンロードフォルダ上にあるzip展開したEmEditorのフォルダを指定します。 アプリの起動のためのexeファイルの場所を選択します。「OK」ボタンをクリックし「quit」で画面を閉じます。 フォントのインストール サクラエディタでフォントが文字化けする経験があったので、先にフォントをインストールしておきます。 fakejapaneseの導入 Wineは標準では普通のWindowsが標準搭載しているライブラリ、フォント類がかなり抜けています。必要に応じて「winetricks」を用いてこれらのライブラリ、フォントを導入できます。 「Advanced」を選択すると詳細設定画面が開きます。 詳細設定画面の「Tools」タブの「winetricks」を選択します。 検索窓に「fakejapanese」を入力します。fontsの配下に「fakejapanese」が表示されてきます。これにチェックを付けて「Run」をクリックしてインストールします。 いろいろインストールされるのがパネルに表示され、終わると「Close」ボタンが有効になるので終了する。 フォントのダウンロードに少し時間がかかりますが、しばらく完了するまで待ちましょう。 これにより日本語環境に必要な、「MS (UI/P)Gothic」、「MS(P)Mincho」、MS(P)ゴシック」、「MS(P)明朝」などのフォント名が追加される。ただし、実際該当するフォントがインストールされるわけではなく、fakejapaneseという名の通りシステムにある何かの代替えとなる。 EmEditorの起動 自分は「EmEditor Free」は選択しました。 問題点 軽くしか見てないですが、大きく2点あります。 IME上変換文字の表示位置 本来はエディタ上のキャレット位置に対象の変換文字が表示されるのですが、EmEditorの外側に表示されてしまいます。 アップグレードのご案内が消せない ToolTipsが数秒しても消せないのと、リンク表示と閉じるアイコンが表示されない。 Windows版での表示は下記の通りで、EmEditorを起動して数秒後に自動で閉じられます。 巨大なファイルの読み込み EmEditorの魅力はなんといっても巨大なファイルを扱えることなので、それを確認したい。 とはいっても、巨大なファイルがなかったので、mkfileコマンドで1GByteのファイルを作成することにした。 mkfile 1g dummy.txt 数秒読み込み後に下記の確認画面が表示される。dummy.txtの中身は、全部0なのでバイナリで開きます。 33,554,432行の末尾まで高速に読み込めた。 最後に Mac上で巨大なファイルを扱えるエディターとして、EmEditorが使用できるのはとても魅力です。 WineskinServer上で正常動作させることは、作者にとっては想定外のことなので問題点の対応はしてもらえないかな。 この記事が作者の目に留まれれ、何かが起こったりするかも知れませんね。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Docker 基本コマンド一覧

login Dokerアカウントにログインするコマンド $ docker login 【docker for mac or docker for windowsをご使用の場合】 dockerアイコンをクリック sign in/Create Docker IDをクリック Docker IDとパスワードの入力でログイン可能 run dockerイメージからdockerコンテナ一つを起動するコマンド $ docker run <イメージ名> よく使うオプション --name コンテナに任意の名前を付ける $ docker run --name <任意の名前> <イメージ名> -d コンテナをバックグランドで動作させる $ docker run -d <イメージ名> -p ホスト上のポートをコンテナ内のポートとマッピング(ポート指定) # 構文 $ docker run -p <ホストポート:コンテナポート> <イメージ名> # ホスト上の3000番ポートをコンテナ内の80番ポートとマッピングして起動する場合 $ docker run -p 3000:80 docker-image --rm プロセスが終了したコンテナを削除 $ docker run --rm <コンテナ名> <イメージ名> -v コンテナにボリュームをマウントして共有するオプション $ docker run -v <ホストのパス:コンテナのパス> <イメージ名> ps 起動中のコンテナ一覧を表示するコマンド 停止中のコンテナは表示されない。表示したい場合は、-aオプションを付ける必要がある # 構文 $ docker ps # 停止中のコンテナ一覧も表示 $ docker ps -a コンテナの操作 コンテナは、コンテナID、もしくはコンテナ名で指定 コンテナ一つを操作する いずれのコマンドも削除はせず、コンテナは残る start dockerコンテナを起動するコマンド $ docker start <コンテナ名> stop dockerコンテナを停止するコマンド $ docker stop <コンテナ名> restart dockerコンテナを再起動するコマンド $ docker restart <コンテナ名> exec 起動中のコンテナ内でコマンドを実行 起動中のコンテナに入らずコマンドを実行 -itオプションを使うとコンテナに入ることができる # 構文 $ docker exec -it <コンテナ名> /bin/bash # 出力結果 [root@<コンテナID>/]# # 終了コマンド $ exit rm 停止中のコンテナを削除するコマンド 注意点 起動中のコンテナは削除することができない コンテナ内のデータも消えるので注意! $ docker rm <コンテナ名> # 起動中のコンテナを削除する場合 $ docker rm -f <コンテナ名> images ローカルにあるイメージを全て表示するコマンド $ docker images rmi Dokerイメージを削除するコマンド 注意点 起動中コンテナのイメージは削除できない Dockerイメージには依存関係があるので、ベースとなるイメージは削除できない $ docker rmi <イメージ名> build Dockerfileからイメージを生成するコマンド Dockerfileのパス名はディレクトリ名のみの指定でOK $ docker build <Dockerfileのパス名> -t 作成するDockerイメージのイメージ名およびタグ名を指定するオプション $ docker build -t <イメージ名:タグ名> <Dockerfileのあるディレクトリ名> cp コンテナとホストマシンでファイルのやりとりを行うコピーコマンド ログファイルや設定ファイルの取り出しや入力で使用 コマンドの実行はホスト側から行う # ホストからコンテナをコピーする場合 $ docker cp <ホストファイルのパス> <コンテナ名>:<コンテナのパス> # コンテナからホストへコピーする場合 $ docker cp <コンテナ名>:<コンテナのパス> <ホストファイルのパス> logs Dockerコンテナのログ出力するコマンド 原因不明のコンテナ停止やアクセスログを確認する時に使用 # 構文 $ docker logs <コンテナ名> # リアルタイムでログを確認する場合 $ docker logs -f <コンテナ名> 参考教材
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Docker コマンド一覧

login Dokerアカウントにログインするコマンド $ docker login 【docker for mac or docker for windowsをご使用の場合】 dockerアイコンをクリック sign in/Create Docker IDをクリック Docker IDとパスワードの入力でログイン可能 run dockerイメージからdockerコンテナ一つを起動するコマンド $ docker run <イメージ名> よく使うオプション --name コンテナに任意の名前を付ける $ docker run --name <任意の名前> <イメージ名> -d コンテナをバックグランドで動作させる $ docker run -d <イメージ名> -p ホスト上のポートをコンテナ内のポートとマッピング(ポート指定) # 構文 $ docker run -p <ホストポート:コンテナポート> <イメージ名> # ホスト上の3000番ポートをコンテナ内の80番ポートとマッピングして起動する場合 $ docker run -p 3000:80 docker-image --rm プロセスが終了したコンテナを削除 $ docker run --rm <コンテナ名> <イメージ名> -v コンテナにボリュームをマウントして共有するオプション $ docker run -v <ホストのパス:コンテナのパス> <イメージ名> ps 起動中のコンテナ一覧を表示するコマンド 停止中のコンテナは表示されない。表示したい場合は、-aオプションを付ける必要がある # 構文 $ docker ps # 停止中のコンテナ一覧も表示 $ docker ps -a コンテナの操作 コンテナは、コンテナID、もしくはコンテナ名で指定 コンテナ一つを操作する いずれのコマンドも削除はせず、コンテナは残る start dockerコンテナを起動するコマンド $ docker start <コンテナ名> stop dockerコンテナを停止するコマンド $ docker stop <コンテナ名> restart dockerコンテナを再起動するコマンド $ docker restart <コンテナ名> exec 起動中のコンテナ内でコマンドを実行 起動中のコンテナに入らずコマンドを実行 -itオプションを使うとコンテナに入ることができる # 構文 $ docker exec -it <コンテナ名> /bin/bash # 出力結果 [root@<コンテナID>/]# # 終了コマンド $ exit rm 停止中のコンテナを削除するコマンド 注意点 起動中のコンテナは削除することができない コンテナ内のデータも消えるので注意! $ docker rm <コンテナ名> # 起動中のコンテナを削除する場合 $ docker rm -f <コンテナ名> images ローカルにあるイメージを全て表示するコマンド $ docker images rmi Dokerイメージを削除するコマンド 注意点 起動中コンテナのイメージは削除できない Dockerイメージには依存関係があるので、ベースとなるイメージは削除できない $ docker rmi <イメージ名> build Dockerfileからイメージを生成するコマンド Dockerfileのパス名はディレクトリ名のみの指定でOK $ docker build <Dockerfileのパス名> -t 作成するDockerイメージのイメージ名およびタグ名を指定するオプション $ docker build -t <イメージ名:タグ名> <Dockerfileのあるディレクトリ名> cp コンテナとホストマシンでファイルのやりとりを行うコピーコマンド ログファイルや設定ファイルの取り出しや入力で使用 コマンドの実行はホスト側から行う # ホストからコンテナをコピーする場合 $ docker cp <ホストファイルのパス> <コンテナ名>:<コンテナのパス> # コンテナからホストへコピーする場合 $ docker cp <コンテナ名>:<コンテナのパス> <ホストファイルのパス> logs Dockerコンテナのログ出力するコマンド 原因不明のコンテナ停止やアクセスログを確認する時に使用 # 構文 $ docker logs <コンテナ名> # リアルタイムでログを確認する場合 $ docker logs -f <コンテナ名> 参考教材
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

docker-compose 基礎知識 & コマンド一覧

docker-composeとは YAMLファイルという形式の設計図で、複数コンテナをまとめて管理することができるDockerアプリケーションのためのツール YAMLファイルとは スペースで親子関係を表現するファイル形式のことで設定ファイルなどによく使われる ネストが入ったら子供関係(web(親)とbuild(子)) 並列が入ったら並列関係(webとdb) docker-compose.yml version: "3" services: web: build: ./php db: image: mariadb: 10.4 image or build コンテナイメージを指定する項目のこと image DockerHubから指定 build DockerfileからDockerイメージを作成 Docker-compose.ymlから見たパスを相対パスで指定 下記コードでは、Dockerfileが同じ階層にあることを指している docker-compose.yml version: "3" services: web: build: ./php db: image: mariadb: 10.4 container_name コンテナに任意の名前を付けるコマンド docker run --nameとやっていることは一緒 任意のコンテナ名を付けることができる コンテナ名はダブルクォーテーションで囲う 分かりやすい名前を付けることでコンテナの指定が容易になる docker-compose.yml web: build: ./php container_name: "php8" db: image: mariadb: 10.4 container_name: "db2" volume コンテナとホストのディレクトリを共有する命令 docker run -vとやっていることは一緒 コードや設定ファイルに使用する ホスト側は相対パスがオススメ 絶対パスだとユーザー名の部分を書き換える必要がある docker-compose.yml # 構文  volume: <ホストのパス>:<コンテナのパス> # db: volume: ./data:/var/lib/mysql ports コンテナのポート開放とポートフォワーディングを行うオプション docker run -pとやっていることは一緒 ポートが被らないように指定できる 複数のポートが被ると立ち上げられないため、そのような場合は、外部公開ポートを指定する必要がある portsの後に改行し、ネストをふやした後でダブルクォーテーションで囲って記述する必要がある docker-compose.yml # 構文  ports: <外部公開ポート>:<コンテナ内部ポート> # 具体例 web: image: php:8.0 ports: "8080:80" db: up コンテナを起動するコマンド イメージが作成されていない場合、イメージ作成後にコンテナを作成・起動 すでにコンテナが存在する場合、イメージ・コンテナの再作成は行わず、停止中のコンテナを起動 $ docker-compose up -d コンテナをバックグラウンドで起動するオプション そのため、同ターミナルでコマンド操作が可能 $ docker-compose up -d --build Dockerfileの書き換えなどのビルド処理の変更をイメージに反映させるオプション $ docker-compose up --build down docker-compose.ymlで管理されているコンテナをストップ&削除する カレントディレクトリのdocker-compose.ymlのみ適用される 同じ階層にdocker-compose.ymlがない場合は上の階層を探しに行く $ docker-compose down restart docker-compose.ymlで管理されているコンテナをすべて再起動する $ docker-compose restart ps docker-compose.ymlで管理しているコンテナ一覧の表示 対象のdocker-compose.ymlで書かれたコンテナのみ表示されるのでコンテナを把握しやすくなる $ docker-compose ps run docker-compose.ymlで管理しているサービス一つを指定してコマンドを実行 build前でも実行可能なコマンドで、フレームワークのインストールなどに使うと便利 $ docker-compose run <サービス名> <実行したいコマンド>
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む