Help us understand the problem. What is going on with this article?

新規環境でのセットアップメモ

新規環境でのセットアップメモ

ホストOSはWindows 10。VirtualBoxでUbuntu16.04

Windows 10

CtrlとAltを置き換える

Macキーボード的配置にする。レジスタ書き換え、又はSharpKeysで書き換える。

os_01.jpg

どこでもEmacsショートカット

どこでもEmacs同様のカーソル移動、Deleteを使えるようにする。Ctrl-a、Ctrl-d など。実際には、Ctrlキーではなく、Caps Lockキーを使う。Caps Lockキーだと同時押しに対応してないので、先ほどのSharpKeysでCaps LockキーをScroll Lockキーに変えておく。

Keyhacを使って、Scroll Lockと各キー同時押しをカーソル移動などに割り当てる

config.py
import sys
import os
import datetime

import pyauto
from keyhac import *

def configure(keymap):
    keymap.replaceKey( "ScrollLock", 235 ) # for JP keyboard
    #keymap.replaceKey( "RCtrl", 235 ) # for JP keyboard
    #keymap.replaceKey( "CapsLock", 235 ) # for US keyboard
    keymap.defineModifier( 235, "User0" )
    keymap_global = keymap.defineWindowKeymap()
    keymap_global[ "U0-P" ] = "Up"
    keymap_global[ "U0-N" ] = "Down"
    keymap_global[ "U0-B" ] = "Left"
    keymap_global[ "U0-F" ] = "Right"
    keymap_global[ "U0-A" ] = "Home"
    keymap_global[ "U0-E" ] = "End" 
    keymap_global[ "Shift-U0-P" ] = "S-Up"
    keymap_global[ "Shift-U0-N" ] = "S-Down"
    keymap_global[ "Shift-U0-B" ] = "S-Left"
    keymap_global[ "Shift-U0-F" ] = "S-Right"
    keymap_global[ "Shift-U0-A" ] = "S-Home"
    keymap_global[ "Shift-U0-E" ] = "S-End" 
    keymap_global[ "U0-D" ] = "Delete"
    keymap_global[ "U0-K" ] = "S-End","Delete"
    keymap_global[ "U0-H" ] = "Back"
    keymap_global[ "U0-M" ] = "PageDown"
    keymap_global[ "U0-O" ] = "PageUp"
    #keymap_global[ "U0-RShift" ] = ""
    #keymap_global[ "U0-RShift-LShift" ] = "CapsLock"
    keymap_global[ "LCtrl-Q" ] = "Alt-F4" 
    keymap_global[ "LCtrl-W" ] = "Ctrl-F4" 
    #keymap_global[ "RWin-Enter" ] = "Alt-Enter"
    #keymap_global[ "U0-Tab" ] = "CapsLock"
    #keymap_global[ "U0-BackSlash" ] = "Insert"
    keymap_global[ "U0-Space" ] = "Ctrl-Space"

VSCode設定

UserSettings
// 既定の設定を上書きするには、このファイル内に設定を挿入します
{
    "window.title": "${activeEditorLong}",
    // Word Wrap
    "editor.wordWrap": "on",
    // Display white space
    "editor.renderWhitespace": "all",
    // Use tab for indent
    "editor.tabSize": 4,
    "editor.insertSpaces": false,
    "python.pythonPath": "C:/Users/tak/Anaconda3/python.exe",
    "python.linting.pylintArgs": [
        "--disable=W0312",
        "--disable=C0330",
        "--disable=C0326"
    ],
    "workbench.statusBar.visible": true,
    "java.errors.incompleteClasspath.severity": "ignore",
    // "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
    "window.zoomLevel": 0
}

インストールするソフト

  • ブラウザ (FireFox, Chrome)
  • プレイヤー (Irfan View, MPC-HC, VLC)
  • エディタ (VSCode、Sublime、サクラエディタ)
  • バイナリエディタ (Stirling)。右クリックの送るに追加しておく
  • その他 (Tera Term、ftp、Git、WinMerge)

Ubuntu (VirtualBox)

VirbualBoxの設定

ICH9、I/O APIを有効化、PAE/NXを有効化、準仮想化インターフェース=Hyper-V、VT-X/AMD-Vを有効化、ネステッドページングを有効化、ビデオメモリ=256MB(ディスプレイ数を8にしてから1に戻す)、3Dアクセラレーションを有効化、コントローラSATAでタイプ=AHCI、ホストのI/Oキャッシュを使う

(ホストOSがWindowsの場合はHyper-V、Linux系の場合はKVMが良いみたい)

インストール後

  • ソフトウェアを最新にする (念のため、この順番が良い)
    • Ubuntu Softwareから全部Updateしておく (固まるかもしれないので、topで処理状況を確認する)
    • sudo apt-get update
    • sudo apt-get upgrade
  • Guest Additions CDのインストール

Windowsとの共有フォルダのマウント

  • VBoxのメニューバー -> デバイス -> 共有フォルダ- -> 共有フォルダ-設定 で共有フォルダ設定する (例. win_share。自動マウント、永続化する)
  • マウントポイントをubuntu上で作る (例. ユーザ名 = tak)
    • mkdir /home/tak/Desktop/win_share
  • マウントする
    • sudo mount.vboxsf win_share /home/tak/Desktop/win_share
mount.sh
#!/bin/sh
sudo mount.vboxsf win_share /home/tak/Desktop/win_share

Windowsのデスクトップフォルダ全体を共有すると、Read Onlyになってしまう。

  • 追記(2020/02/12)
    • 以下の方が便利。
      • sudo adduser iwatake vboxsf
      • VirtualBoxの共有フォルダの設定に、マウントポイント = /home/iwatake/Desktop/devel などとし、「永続化する」にチェックを付ける。

ターミナルのプロンプト変更

ユーザ名やマシン名を消して、カレントディレクトリのみ表示にする。code ~/.bashrc

.bashrc
if [ "$color_prompt" = yes ]; then
    # PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    # PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
    PS1='${debian_chroot:+($debian_chroot)}\w\$ '
fi

ターミナルの言語設定

code ~/.bashrcで、最後の方に以下を追加。場合によっては、export LANG=Cの方がいいかも。

.bashrc
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8

どこでもEmacsショートカット

どこでもEmacs同様のカーソル移動、Deleteを使えるようにする。Ctrl-a、Ctrl-d など。実際には、Ctrlキーではなく、Caps Lockキーを使う。(先ほどの設定でホストOSであるWindows上でCaps LockキーをScroll Lockにしているので、実際には、Scroll Lock-a、Scrol Lock-dになる。)

Scroll LockキーをMeta_Lキーに変更する。

/usr/share/X11/xkb/symbols/pc
省略
    // modifier_map Mod1   { <META> };
    modifier_map Mod2   { <META> };
省略
    //key <SCLK> {  [  Scroll_Lock      ]   };
    key <SCLK> {    [  Meta_L       ]   };
省略

Meta_Lキーを押したときに、メニューバーを選択しない (ALT的な動作をさせない)

/usr/share/X11/xkb/symbols/altwin
// Meta is mapped to second level of Alt keys.
partial modifier_keys
xkb_symbols "meta_alt" {
    //key <LALT> { [ Alt_L, Meta_L ] };
    key <LALT> { [ Alt_L ] };
    key <RALT> { type[Group1] = "TWO_LEVEL",
                 //symbols[Group1] = [ Alt_R, Meta_R ] };
                 symbols[Group1] = [ Alt_R ] };
    // modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
    modifier_map Mod1 { Alt_L };
//  modifier_map Mod4 {};
};

Autokeyを使って、ショートカットキーを登録する。例えば、Meta-fというホットキーに、keyboard.send_key("<right>")を割り当てる。AutoKeyを開いて、New->Folderで、mysettings/Autokeyを開く。その中に、設定済みファイル (https://github.com/take-iwiw/Autokey/archive/master.zip) をコピーする。

os_02.jpg

Start Applications (gnome-session-properties)に登録する

os_03.jpg

その他

shファイルを実行/編集選べるようにする

Files -> メニューバー -> Edit -> Preferences -> Behavior -> Executable Text Files -> Ask each time

Filesでアドレスバー表示にする

Ctrl-Lで切り替える。または、
gsettings set org.gnome.nautilus.preferences always-use-location-entry true

インストールするソフト

  • Visual Studio Code (MSのサイトから.debでダウンロード)
  • Autokey (Ubuntu Softwareから)

VSCodeをsudoで開く

sudo code --user-data-dir="." ファイル名

iwatake2222
クソコード、放置するのも、同罪です (自分への戒め)
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした