Skip to content

Instantly share code, notes, and snippets.

@takuzoo3868
Last active March 6, 2018 07:17
Show Gist options
  • Save takuzoo3868/4a7f7dcb86b326d045183885329ac793 to your computer and use it in GitHub Desktop.
Save takuzoo3868/4a7f7dcb86b326d045183885329ac793 to your computer and use it in GitHub Desktop.
💡Best solutions for my laptops #tips

Windows10

作業ウィンドウの切替

[Alt]+[Tab]

仮想ディスクトップ

新規生成
[Super(Windows)]+[Ctrl]+[D]  

切り替え
[Super(Windows)]+[Ctrl]+[left/right]

削除
[Super(Windows)]+[Ctrl]+[F4]

ネットワークインターフェース名変更

# 現在のinterface名確認
netsh -c interface show interface
# 変更
netsh -c interface set interface name="ローカル エリア接続" newname=net0
# 変更後のinterface名確認
netsh -c interface show interface

windows版パッケージマネージャ

とりあえずインストールしよう
cmdで以下を打ち込む
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

Bash on Windows

インストール直後

ホームに保存フォルダを作成し初期設定ファイルをバックアップ

$ mkdir orig save backup
$ sudo cp -p .* /etc/* orig/

パッケージを更新

$ sudo apt update
$ sudo apt upgrade

システムバージョンを確認

$ lsb_release -d
Description: Ubuntu 14.04.5 LTS

諸々のインストール

$ sudo apt -y install vim git tig jless nkf zip p7zip-full
$ sudo apt -y install build-essential libtool automake autoconf pkg-config

この時点で初期選択済みパッケージの一覧を保存

$ dpkg --get-selections > save/pkg-selections

gitパッケージに含まれている diff-highlight を起動可能に

$ sudo ln -s /usr/share/doc/git/contrib/diff-highlight/diff-highlight /usr/local/bin
$ sudo chmod +x /usr/local/bin/diff-highlight

Linux全般

neovim関連

  • Hown to use dein

Run this command to update your plugins:

  :call dein#update()

Note: The plugins are not updated automatically.

See this link.

font

  • font patch
$ git clone https://github.com/ryanoasis/nerd-fonts.git
$ sudo add-apt-repository ppa:fontforge/fontforge
$ sudo apt-get update
$ sudo apt-get install fontforge
$ cd nerd-fonts
$ fontforge -script ./font-patcher <path/to/font-file> -w  --fontawesome --fontawesomeextension --fontlinux  --octicons --powersymbols --pomicons

Git include設定の反映

~/.gitconfig.localへ見られたくない設定を記述
.gitconfigには[include]でlocalファイルを読み込むようにする

[user]
  name = hoge
  email = hoge@example.com

しかしこのまま設定項目を確認してもincludeしたパスは表示されるが肝心の内容が反映されていない

$ git config --global -l
core.editor=nvim
core.excludesfile=~/.gitignore_global
core.preloadindex=true
core.fscache=true
include.path=~/.gitconfig.local
color.ui=auto
color.status=auto
color.diff=auto
color.branch=auto
color.interactive=auto
color.grep=auto
alias.alias=!git config --get-regexp '^alias\.' | sed 's/alias\.\([^ ]*\) \(.*\)/\1\	 => \2/' | sort
alias.a=add
alias.c=commit -m
alias.ca=commit -am
alias.ci=commit
alias.amend=commit --amend
alias.ch=checkout
alias.d=diff
alias.dc=diff --cached
alias.last=diff HEAD^
alias.l=log --graph --date=short
alias.tree=log --graph --branches --pretty=format:'%C(cyan)[%h]%Creset -%C(cyan bold)%d%Creset %s (%cr) %C(blue)<%an>%Creset'
alias.pl=pull
alias.drag=pull --rebase
alias.ps=push
alias.s=status
alias.st=status
alias.stat=status

--includesオプションで解決

$ git config --global --includes -l

これでcommit時にuser情報が反映されている

Git ignore記述方法

  • #はコメント
  • !は残りのパターンを否定
  • /で終わる名前はディレクトリにのみ合致
  • /で始まる名前はルートディレクトリから指定
  • /がどこにも含まれない名前はシェルのglobパターンでファイル名のベース部分に合致

Git ingoreのリロード

必ずstatusでcommitしていないコードはないか確認  

$ git rm -r --cached .
$ git add .
$ git commit -m ".gitignore is now working"
$ git push

Gitサブアカウント設定

頻度が低めな開発などのアカウントは、リポジトリ単位でアカウント情報を設定する。(./.git/config) ※リポジトリ内の./.git/configに設定する。

cd Project/develop
$ git config --local user.name "サブアカウント"
$ git config --local user.email "サブアカウントメールアドレス"

Gitでremoteが機能していない

.git/config内部の編集でなんとかなる。sshよりhttpsが安定する。
pushするために以下へ変更。

[remote "origin"]
	url = https://<自分のユーザー名>@github.com/<Organization名>/<リポジトリ名>.git

Gitリポジトリ軽量化

まずdu -sh .git/objectsでファイルサイズを確認

git gc --aggressive
git prune
rm -rf .git/refs/original

Gitでhttpからsshへ

HTTPは高速だかuser情報の入力が一々面倒
sshはssh-agentやpageantがpass入力を代行するが低速
httpでcloneした後にsshでpushするよう設定すればよい

$ git remote set-url origin git@github.com:user/repo.git

また.ssh/configを以下のように設定して少し速度は改善される

Host github.com
  Compression yes
  Ciphers arcfour128,arcfour256,arcfour,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc

githubで画像アップロード用にブランチを切る

READMEに画像を添付したいがリポジトリ上でファイルを表示したくない場合   動画像専用のブランチを作るのもアリ

$ git branch media
$ git checkout media
$ rm -f *
$ cp /home/username/.../xxxx.png ./
$ git add --all
$ git commit -m "add xxxx.png into media"
$ git push origin media

ブランチを切り替えてリンクを張ればOK

$ git checkout master

※Rawリンクはhttps://raw.githubusercontent.com/username/Project/branch/...へ変更になった。

$ git commit -m "add Picture to README.md"
$ git push origin master

今いるフォルダをカレントにしてcmdを起動

カレントにしたいフォルダで

  1. Shift + 右クリック

  2. コマンドウィンドウをここで開く

dpkgのlock解除

以下のようなエラーが生じた場合

E: ロック /var/lib/dpkg/lock が取得できませんでした - open (11: リソースが一時的に利用できません)
E: 管理用ディレクトリ (/var/lib/dpkg/) をロックできません。これを使う別のプロセスが動いていませんか?

解決策

$ ps -A | grep apt

あるいは

$ sudo lsof /var/lib/dpkg/lock

でリソースをロックしているプロセスを表示. PIDをkillすればよい

$ sudo kill PID

管理者権限での設定ファイル編集

sudo vimよりsudoeditを利用した方が良い

既存のディレクトリをgit管理下に置いてGitHubへ連結

$ cd /path/to/dir
$ git init

この時点で.gitが生成されているのでconfigにリポジトリ情報を追加していく

$ git remote add origin git@github.com:user/repository.git
$ git config --global user.name "hoge" 
$ git config --global user.email "hoge@example.com"

Ubuntu

Keyboard

キーボードが英語配列の場合/etc/default/keyboardを開き

# vim /etc/default/keyboard
XKBMODEL="jp106"
XKBLAYOUT="jp"

で日本語配列へ変更可能

Shortcut

SuperWindows key

  • Launcher
Shortcut key Function
Super(長押し) ショートカット一覧表示
Super+Tab Launcherでアプリケーションを切り替える
Super + 1~9 Launcherのアイコンをクリック
Super + Shift + 1~9 アプリの新しいウィンドウを開く
Super + T ゴミ箱を開く
  • HUD(Head Up Dispray) & Menu Bar
Shortcut key Function
Alt(短く押す) HUDを開く
Alt(長押し) アプリケーションメニューを開く
Alt + F10 インジケーターメニューを開く
←→ インジケーターのフォーカスを移動
  • Switch
Shortcut key Function
ALT +Tab アプリケーションを切り替える
ALT + 全角/半角 現在のアプリケーションのウィンドウを切り替える
←→ フォーカスを移動する
  • Dash
Shortcut key Function
Super(短く押す) Dashホームを開く
Super + A DashのアプリLensを開く
Super + F DashのファイルLensを開く
Super + M DashのミュージックLensを開く
Super + C DashのフォトLensを開く
Super + V DashのビデオLensを開く
Ctrl + Tab Lens間で切り替える
矢印キー フォーカスを移動する
Enter 現在フォーカスのあるアイテムを開く
  • Window
Shortcut key Function
Super + W すべてのウィンドウを並べて表示する
Ctrl + Super + ↑ 現在のウィンドウを最大化する
Ctrl + Super + ↓ 現在のウィンドウを最小化または復元する
Ctrl + Super + ←→ 現在のウインドウを画面半分の大きさにする
Alt + F4 現在のウィンドウを閉じる
Atl + Space ウィンドウのアクセシビリティメニューを開く
Ctrl + Alt + Num ウィンドウを対応した位置に移動する
Alt + マウスの左ボタン + ドラッグ ウィンドウを移動する
Alt + マウスの中ボダン ウィンドウをリサイズする

Screenshot

全画面を撮る

  • 「PrintScreen」キーを押す
  • 端末から下記の通り実行する
$ gnome-screenshot

範囲を指定して撮る

  • 「Shift」+「PrintScreen」キーを押す
  • 端末から下記の通り実行する
$ gnome-screenshot --area

--areaをつけると範囲指定できる どちらも実行後、マウスポインタが✚になり、ドラッグで画面上の任意の範囲を指定できるようになる

ウィンドウを指定して撮る

  • 「Alt」+「PrintScreen」キーを押す
  • 端末から下記の通り実行する
$ gnome-screenshot --window

apt update でのエラー対処

$ apt update
エラー:1 http://jp.archive.ubuntu.com/ubuntu xenial InRelease
  'jp.archive.ubuntu.com' が一時的に解決できません
エラー:2 http://security.ubuntu.com/ubuntu xenial-security InRelease
  'security.ubuntu.com' が一時的に解決できません
エラー:3 http://jp.archive.ubuntu.com/ubuntu xenial-updates InRelease
  'jp.archive.ubuntu.com' が一時的に解決できません
エラー:4 http://jp.archive.ubuntu.com/ubuntu xenial-backports InRelease
  'jp.archive.ubuntu.com' が一時的に解決できません
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています       
状態情報を読み取っています... 完了
パッケージはすべて最新です。
W: http://jp.archive.ubuntu.com/ubuntu/dists/xenial/InRelease の取得に失敗しました  'jp.archive.ubuntu.com' が一時的に解決できません
W: http://jp.archive.ubuntu.com/ubuntu/dists/xenial-updates/InRelease の取得に失敗しました  'jp.archive.ubuntu.com' が一時的に解決できません
W: http://jp.archive.ubuntu.com/ubuntu/dists/xenial-backports/InRelease の取得に失敗しました  'jp.archive.ubuntu.com' が一時的に解決できません
W: http://security.ubuntu.com/ubuntu/dists/xenial-security/InRelease の取得に失敗しました  'security.ubuntu.com' が一時的に解決できません
W: いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視されるか、古いものが代わりに使われます。

####解決策 DNSの問題と考えられるので, resolv.confを編集して一時的に Google Public DNS を利用してみる.

$ echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

resolv.confの内容はDHCP で IPアドレスを割り当てられた時に書き換えられる.

Arch Linux

パッケージ管理

yaourt

AURパッケージを含むパッケージのアップデート(推奨)

$ yaourt -Syua

AURパッケージを含むパッケージのインストール

$ yaourt -S [package]

AURパッケージの削除

$ yaourt -R [package]

AURパッケージとそれ以外で使用されていない依存関係にあるパッケージを削除

$ yaourt -Rs [package]

インストール済みAURパッケージの表示

$ yaourt -Qm

pacman

リポジトリとローカルパッケージデータベースとの同期およびアップグレード

# pacman -Syu

リポジトリ上にあるパッケージのインストール

# pacman -S [package]

ローカルシステム/インターネット上にあるパッケージ (.pkg.tar.xz/gz) のインストール

# pacman -U [Path or URL]

パッケージとそれ以外で使用されていない依存関係にあるパッケージを削除

# pacman -Rs [package]

インストール済みパッケージの表示

# pacman -Q

インストール済みパッケージの検索

# pacman -Qs [package]

インストール済みパッケージの情報

# pacman -Qi [package]

Arch Linuxパッケージデーターベースに存在するインストール済みパッケージの表示

# pacman -Qqn

孤立したパッケージの削除

# pacman -Rs $(pacman -Qtdq)

キャッシュと使われていないリポジトリのクリーンアップ

# pacman -Scc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment