ubuntu 16.04 設定まとめ
バージョンチェック
cat /etc/lsb-release
設定スクリプト
#!/bin/bash # 16.04 CURRENT=`pwd` if [ $CURRENT != $HOME ]; then echo "Error: Run in your home folder" exit; fi # rm folders rm -rf Videos/ Templates/ Public/ Pictures/ Music/ Documents/ # apport sudo rm -rf /var/crash/* grep "enabled=1" /etc/default/apport >/dev/null if [ $? -eq 0 ]; then sudo emacs /etc/default/apport fi # apt-get (install) sudo apt-get install -y \ mdadm \ build-essential \ xclip \ fonts-vlgothic \ global \ emacs24-nox \ unrar \ python-setuptools \ git-core \ curl \ wireshark \ vlc \ p7zip \ python-pip \ libgtest-dev \ gnome-session-flashback \ gconf-editor \ unity-tweak-tool gnome-tweak-tool \ nodejs npm \ compizconfig-settings-manager compiz-plugins \ ubuntu-desktop \ gnome-do \ xbacklight # IME sudo apt-get install -y fcitx-mozc im-config -n fcitx # Gtk Emacs gsettings set org.gnome.desktop.interface gtk-key-theme Emacs # Window buttons gsettings set org.gnome.desktop.wm.preferences button-layout 'menu:minimize,maximize,close' # Disable password input after Suspend gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true' # Set default list style in Nautilus gsettings set org.gnome.nautilus.preferences default-folder-viewer 'list-view' # Capslock dconf reset /org/gnome/settings-daemon/plugins/keyboard/active dconf write /org/gnome/desktop/input-sources/xkb-options "['ctrl:nocaps']" # disable a system-ready sound if [ -f /usr/share/sounds/ubuntu/stereo/system-ready.ogg ]; then sudo mv /usr/share/sounds/ubuntu/stereo/system-ready.ogg /usr/share/sounds/ubuntu/stereo/system-ready.ogg.bak fi # Terminal font gconftool-2 --get /apps/gnome-terminal/profiles/Default/font gconftool-2 --set --type string /apps/gnome-terminal/profiles/Default/font "VL Gothic 12" fc-list | grep vl # Beyond Compare 4 # http://www.scootersoftware.com/ which bcompare if [ $? -eq 1 ]; then sudo apt-get install -y libqtwebkit4 libqt4-opengl sudo dpkg -i $HOME/Dropbox/DESKTOP/SETUP/bcompare-4.1.8.21575_amd64.deb fi
ターミナルの CJK の設定
- Profile -> Compatibility -> Ambiguous-width characters --> Wide
Unity を使わない
gnome-do
- Alt+Space に Summon Do を割り当てるには競合しているキーバインドをまず解除する必要がる
- System Tools - System Setting - Keyboard - Shortcuts - Activate the window menu の Alt+Space を Disabled にする
Firefox
sudo add-apt-repository ppa:mozillateam/firefox-next sudo apt update
音声出力先のデフォルト値を /etc/pulse/default.pa で修正
set-default-sink alsa_output.pci-0000_02_00.1.hdmi-stereo-extra1
以下は過去のメモの統合
RAID1 の構成
- Fakeraid (Onboard) は使わない
- 2TB 以上の場合は GPT を使う
初回構成時
sudo parted /dev/sdx mklabel gpt mkpart primary ext4 1M -1 sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sd[xy]1 sudo mdadm -D /dev/md0 sudo mkfs.ext4 /dev/md0 sudo blkid sudo vi /etc/fstab UUID=XXXX /mnt/md0 ext4 defaults 0 0
再マウント時
sudo mdadm --assemble /dev/md0 /dev/sd[xy]1 sudo mdadm -D /dev/md0 sudo blkid sudo vi /etc/fstab UUID=XXXX /mnt/md0 ext4 defaults 0 0
paiza POH Vol.5
解答(ミナミ)
#!/usr/bin/env ruby file = $stdin lines = file.readlines file.close x, y = lines[0].split.map{|a| a.to_i} t = lines[1, y].map{|b| b.split.map{|a| a.to_i}} count_list = [] for i in 0..x - 1 count = 0 for j in 0..y - 1 count += 1 if t[j][i] == 1 end count_list += [count] end for j in 0..y - 1 line = "" for i in 0..x - 1 c = count_list[i] > y - 1 - j ? 1 : 0 line += c.to_s + " " end puts line.rstrip end
解答(レナ)
#!/usr/bin/env ruby file = $stdin lines = file.readlines file.close x, y, n = lines[0].split.map{|a| a.to_i} t = lines[1, y].map{|b| b.split.map{|a| a.to_i}} rects = lines[y + 1, n].map{|b| b.split.map{|a| a.to_i}} sum = 0 for rect in rects for pos_y in (rect[1] - 1)..(rect[3] - 1) for pos_x in (rect[0] - 1)..(rect[2] - 1) sum += t[pos_y][pos_x] t[pos_y][pos_x] = 0 end end end puts sum
コードの覚え書き
解説を読んでのメモ
paiza POH Vol.4 野田さん攻略
解答
#!/usr/bin/env ruby file = $stdin lines = file.readlines file.close t, n = lines[0].split.map{|x| x.to_i} m_list = lines[1, n].map{|x| x.to_i} max_sum = sum = m_list[0, t].inject(0){|sum, x| sum + x} for i in t..n - 1 sum += -m_list[i - t] + m_list[i] max_sum = [max_sum, sum].max end puts max_sum
コードの覚え書き
- 3番目のみ計算量を考慮して差分だけ計算するようにした
解説を読んでのメモ
- しゃくとり法というらしい。累積和はあんまり道具として身についていないな。
paiza POH Vol.3 霧島京子攻略
解答
#!/usr/bin/env ruby file = $stdin lines = file.readlines file.close m = lines[0].to_i n = lines[1].to_i companies = lines[2, n].map{|x| x.split.map{|y| y.to_i}} companies.sort!{|a, b| b[0] <=> a[0]} map_q_to_r = {} map_q_to_r[0] = 0 left_q_sum = companies.inject(0){|sum, x| sum + x[0]} for q,r in companies new_map_q_to_r = {} for sq, sr in map_q_to_r next if sq + left_q_sum < m new_map_q_to_r[sq] = sr end for sq, sr in map_q_to_r if new_map_q_to_r.has_key?(sq + q) new_map_q_to_r[sq + q] = [map_q_to_r[sq + q], sr + r].min else new_map_q_to_r[sq + q] = sr + r end end map_q_to_r = new_map_q_to_r left_q_sum -= q end min_cost = -1 for sq, sr in map_q_to_r if sq >= m if min_cost < 0 min_cost = sr else min_cost = [min_cost, sr].min end end end puts min_cost
解説を読んでのメモ
- 霧島さんの水着壁紙が素晴らしい。
Bootstrap のメモ
テーブルを固定幅にする
- td に .span をつけることでグリッドシステムが使える。12 等分より細かい位置調整は div を併用してネストする。
- ただし、テキストが長い場合は word-break:break-all (あるいは word-wrap:break-word, overflow-wrap:break-word) を忘れずに。