Open19
Ubuntu 22.04 設定
ディレクトリを英語化
LANG=C xdg-user-dirs-gtk-update
CapsLockをCTRLに変更
- keyboard設定ファイルを開く
sudo vi /etc/default/keyboard
- ファイル編集
- XKBOPTIONS=""
+ XKBOPTIONS="ctrl:nocaps"
Zsh
- Install
sudo apt install zsh
- Change default shell
chsh -s $(which zsh)
Prezto
Command tools
sudo apt install git curl ripgrep neovim
VPN (L2TP)
- Install
sudo apt install network-manager-l2tp network-manager-l2tp-gnome
フォント
-
HackGen
- DLして展開後フォントファイルを開いてインストール
- udev-gothic
リモートデスクトップ
- 設定の共有からリモートデスクトップを有効にできる
- 画面ロックされると接続できない
画面ロックでもRDPできる方法
- gnome-shell-extension-manager のインストール
sudo apt install gnome-shell-extension-manager
- shell extension を起動後に検索で
Allow locked Remote Desktop
を探し追加する - shell extension 内で有効化させておく
自動ログイン
- 自動ログインでもログイン後にキーリングの認証ができていないためRDP接続はできない
Docker Engin Install
ref
Install
- Install command
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
- 起動確認
sudo docker run hello-world
- グループ追加(sudo回避)
sudo groupadd docker
sudo usermod -aG docker $USER
sudo chown $USER:$USER /home/$USER/.docker -R
sudo chmod g+rwx $HOME/.docker -R
-- 一度ログアウト必要
docker run hello-world
Ubuntuソフトウェアセンターで更新すると 「 snap has no updates available 」が表示され更新できない
- 不要なsnap-storeプロセスが動いている場合はkillする
sudo killall snap-store
- 再実行
ref
最新版のGOのインストール
sudo apt update
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt install golang-go
Vlang をインストール
-
https://vlang.io/の TOP にある、
Download for Linux
から Zipをダウンロード - 展開したvフォルダを所定に位置に配置
- 環境変数を追加(自身のhome以下にvを配置した場合)
export V=$HOME/v
export PATH=$PATH:$V
Vlang で sqlite3 を使う
db.sqliteを使用するためにはsqlite3 devパッケージが必要。
sqliteと合わせてインストールする。
sudo apt install -y sqlite3 libsqlite3-dev
warp
install
- Download deb package.
- Install
sudo apt install ./warp-terminal_0.2024.02.20.08.01.stable.02_amd64.deb
Rust
Install
- Install
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Add zshrc
source "$HOME/.cargo/env"
Install rustlings
- rustlings
- install
curl -L https://raw.githubusercontent.com/rust-lang/rustlings/main/install.sh | bash
VSCode Neovim
Re-install neovim
- Ubuntu 22.04 のneovimは0.7系
- vscode-neovim が要求するバージョンは >= 0.9
- 最新版のインストールが必要
Uninstall neovim
- 以下のコマンドでインストール済みのneovimを削除
sudo apt-get purge --auto-remove neovim
Install neovim
- Pre-build archive を利用してインストールを行う
- 以下のコマンドで/usr/local/nvimに展開
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz
sudo rm -rf /usr/local/nvim
sudo tar -C /usr/local/nvim -xzf nvim-linux64.tar.gz
- zshrcにパスを追加
# neovim
export PATH=$PATH:/usr/local/nvim-linux64/bin
設定
- INSERTモードのバインディングはneovim側でなくvscode側で定義すると書いてあった
- 参考
- keybinding.json
[
{
// jj で入力モードを抜ける
"command": "vscode-neovim.compositeEscape1",
"key": "j",
"when": "neovim.mode == insert && editorTextFocus",
"args": "j"
},
{
// 定義ジャンプ
"key": "space d",
"command": "editor.action.goToDeclaration",
"when": "neovim.mode == normal && editorTextFocus",
},
{
// 戻る
"key": "space b",
"command": "workbench.action.navigateBack",
"when": "neovim.mode == normal && editorTextFocus",
},
{
// 進む
"key": "space f",
"command": "workbench.action.navigateForward",
"when": "neovim.mode == normal && editorTextFocus",
},
{
// ホバー
"key": "space h",
"command": "editor.action.showHover",
"when": "neovim.mode == normal && editorTextFocus",
},
{
// ターミナルにフォーカス
"key": "space t",
"command": "terminal.focus",
"when": "neovim.mode == normal && editorTextFocus",
},
]
apt update で 署名照合中にエラー
sudo apt updateを実行した際に以下のようなエラーが発生
W: 署名照合中にエラーが発生しました。リポジトリは更新されず、過去のインデックスファイルが使われます。GPG エラー: https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_22.04 ./ InRelease: 以下の署名が無効です: EXPKEYSIG B8AC39B0876D807E home:npreining OBS Project <home:npreining@build.opensuse.org>
W: https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_22.04/./InRelease の取得に失敗しました 以下の署名が無効です: EXPKEYSIG B8AC39B0876D807E home:npreining OBS Project <home:npreining@build.opensuse.org>
W: いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視されるか、古いものが代わりに使われます。
onedriveについては自分で署名をインストールする手段をとっているため更新を実施する
- 署名の削除: エラーメッセージ中のEXPKEYSIGを使用して削除する
$ sudo apt-key del B8AC39B0876D807E Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). OK
- 署名の再登録
$ wget -qO - https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_22.04/Release.key | gpg --dearmor | sudo tee /usr/share/keyrings/obs-onedrive.gpg > /dev/null
- 実行後はsudo apt updateを実行してもエラーにならなくなった
Guake
Install
sudo apt install guake
aws cli v2
aws cli install
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
session manager plugin
curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" -o "session-manager-plugin.deb"
sudo dpkg -i session-manager-plugin.deb
aws configure
aws configure
AWS Access Key ID [None]: AKI***********************
AWS Secret Access Key [None]: MT***********************
Default region name [None]: ap-northeast-1
Default output format [None]: json
session-managerを使ったssh接続
- ~/.ssh/config を編集
vi ~/.ssh/config
- 以下の内容を追記
# SSH over Session Manager
host i-* mi-*
ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
IdentityFile ~/.ssh/key.pem
- sshコマンドでアクセス
$ ssh ec2-user@i-*********************
, #_
~\_ ####_ Amazon Linux 2023
~~ \_#####\
~~ \###|
~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023
~~ V~' '->
~~~ /
~~._. _/
_/ _/
_/m/'
[ec2-user@ip-172-18-18-128 ~]$