Compare commits
No commits in common. "dev" and "master-linux" have entirely different histories.
dev
...
master-lin
696 changed files with 3411 additions and 49038 deletions
8
.gitignore
vendored
8
.gitignore
vendored
|
|
@ -1,8 +0,0 @@
|
||||||
**/__pycache__
|
|
||||||
**/*.7z
|
|
||||||
**/*.DS_Store
|
|
||||||
**/*.bak
|
|
||||||
**/*.exe
|
|
||||||
**/*.swp
|
|
||||||
setup/BUILD*
|
|
||||||
setup/OUT*
|
|
||||||
2
.linux_items/.gitignore
vendored
Normal file
2
.linux_items/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
wk_tmp
|
||||||
|
wk-repo
|
||||||
1
.linux_items/archlive/airootfs/etc/locale.conf
Normal file
1
.linux_items/archlive/airootfs/etc/locale.conf
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
LANG=en_US.UTF-8
|
||||||
1
.linux_items/archlive/airootfs/etc/locale.gen
Normal file
1
.linux_items/archlive/airootfs/etc/locale.gen
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
en_US.UTF-8 UTF-8
|
||||||
0
.linux_items/archlive/airootfs/etc/machine-id
Normal file
0
.linux_items/archlive/airootfs/etc/machine-id
Normal file
9
.linux_items/archlive/airootfs/etc/motd
Normal file
9
.linux_items/archlive/airootfs/etc/motd
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
Welcome to the [32mWK Linux Toolbox[0m
|
||||||
|
|
||||||
|
Some common commands:
|
||||||
|
[34m%[0m hw-diags
|
||||||
|
[34m%[0m hw-info
|
||||||
|
[34m%[0m mount-all-volumes
|
||||||
|
[34m%[0m mount-backup-shares
|
||||||
|
[34m%[0m connect-to-network
|
||||||
|
|
||||||
20
.linux_items/archlive/airootfs/etc/oblogout.conf
Normal file
20
.linux_items/archlive/airootfs/etc/oblogout.conf
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
[settings]
|
||||||
|
usehal = false
|
||||||
|
|
||||||
|
[looks]
|
||||||
|
opacity = 70
|
||||||
|
bgcolor = black
|
||||||
|
buttontheme = foom
|
||||||
|
#buttons = cancel, logout, restart, shutdown, suspend, hibernate, lock
|
||||||
|
buttons = restart, shutdown, logout
|
||||||
|
|
||||||
|
[shortcuts]
|
||||||
|
cancel = Escape
|
||||||
|
shutdown = S
|
||||||
|
restart = R
|
||||||
|
logout = L
|
||||||
|
|
||||||
|
[commands]
|
||||||
|
shutdown = systemctl poweroff
|
||||||
|
restart = systemctl reboot
|
||||||
|
logout = openbox --exit
|
||||||
64
.linux_items/archlive/airootfs/etc/skel/.Xresources
Normal file
64
.linux_items/archlive/airootfs/etc/skel/.Xresources
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
! general settings
|
||||||
|
URxvt*saveline: 15000
|
||||||
|
URxvt*termName: rxvt-256color
|
||||||
|
URxvt*iso14755: false
|
||||||
|
|
||||||
|
! appearance
|
||||||
|
URxvt*depth: 32
|
||||||
|
!URxvt*background: rgba:0000/0000/0000/AAAA
|
||||||
|
!URxvt*background: [80]#404552
|
||||||
|
!URxvt*background: [100]#2f343f
|
||||||
|
!URxvt*foreground: #F8F8FF
|
||||||
|
!URxvt.underlineColor: #4682B4
|
||||||
|
!URxvt.highlightColor: #4682B4
|
||||||
|
!URxvt.throughColor: Blue
|
||||||
|
!URxvt*cursorColor: #dc8cc3
|
||||||
|
!URxvt*cursorColor2: Black
|
||||||
|
URxvt*scrollBar: false
|
||||||
|
URxvt*scrollBar_right: false
|
||||||
|
URxvt*internalBorder: 0
|
||||||
|
URxvt*externalBorder: 0
|
||||||
|
!URxvt.colorIT: #87af5f
|
||||||
|
!URxvt.colorBD: #c5c8c6
|
||||||
|
!URxvt.colorUL: #87afd7
|
||||||
|
URxvt.geometry: 92x16
|
||||||
|
URxvt.internalBorder: 8
|
||||||
|
URxvt.shading: 10
|
||||||
|
URxvt.transparent: true
|
||||||
|
|
||||||
|
! Base16 Isotope
|
||||||
|
! Scheme: Jan T. Sott
|
||||||
|
!! Modified by 2Shirt
|
||||||
|
|
||||||
|
*.foreground: #d0d0d0
|
||||||
|
*.background: #000000
|
||||||
|
*.cursorColor: #d0d0d0
|
||||||
|
|
||||||
|
*.color0: #000000
|
||||||
|
*.color1: #ff0000
|
||||||
|
*.color2: #33ff00
|
||||||
|
*.color3: #ffd000
|
||||||
|
*.color4: #0066ff
|
||||||
|
*.color5: #cc00ff
|
||||||
|
*.color6: #00ffff
|
||||||
|
*.color7: #d0d0d0
|
||||||
|
|
||||||
|
*.color8: #808080
|
||||||
|
*.color9: #ff9900
|
||||||
|
*.color10: #404040
|
||||||
|
*.color11: #606060
|
||||||
|
*.color12: #c0c0c0
|
||||||
|
*.color13: #e0e0e0
|
||||||
|
*.color14: #3300ff
|
||||||
|
*.color15: #ffffff
|
||||||
|
|
||||||
|
! fonts
|
||||||
|
Xft.autohint: 0
|
||||||
|
Xft.antialias: 1
|
||||||
|
Xft.hinting: true
|
||||||
|
Xft.hintstyle: hintslight
|
||||||
|
Xft.rgba: rgb
|
||||||
|
Xft.lcdfilter: lcddefault
|
||||||
|
URxvt.font: xft:Inconsolata:size=12
|
||||||
|
!URxvt.letterSpace: -3
|
||||||
|
|
||||||
|
|
@ -4,14 +4,10 @@ alias 7z3='7z a -t7z -mx=3'
|
||||||
alias 7z5='7z a -t7z -mx=5'
|
alias 7z5='7z a -t7z -mx=5'
|
||||||
alias 7z7='7z a -t7z -mx=7'
|
alias 7z7='7z a -t7z -mx=7'
|
||||||
alias 7z9='7z a -t7z -mx=9'
|
alias 7z9='7z a -t7z -mx=9'
|
||||||
alias cdtmp='cd $(mktemp -d)'
|
|
||||||
alias ddrescue='sudo ddrescue --ask --min-read-rate=64k -vvvv'
|
|
||||||
alias diff='colordiff -ur'
|
alias diff='colordiff -ur'
|
||||||
alias du='du -sch --apparent-size'
|
alias du='du -sch --apparent-size'
|
||||||
alias fix-perms='find -type d -exec chmod 755 "{}" \; && find -type f -exec chmod 644 "{}" \;'
|
alias fix-perms='find -type d -exec chmod 755 "{}" \; && find -type f -exec chmod 644 "{}" \;'
|
||||||
alias hexedit='hexedit --color'
|
alias hw-info='sudo inxi -ACDdGlMmNopRsxxc 25'
|
||||||
alias hw-info='sudo hw-info | less -S'
|
|
||||||
alias ip='ip -br -c'
|
|
||||||
alias less='less -S'
|
alias less='less -S'
|
||||||
alias ls='ls --color=auto'
|
alias ls='ls --color=auto'
|
||||||
alias mkdir='mkdir -p'
|
alias mkdir='mkdir -p'
|
||||||
|
|
@ -33,10 +29,8 @@ alias sdu='sudo du -sch --apparent-size'
|
||||||
alias srmdirs='sudo find -depth -mindepth 1 -type d -exec rmdir "{}" --ignore-fail-on-non-empty \;'
|
alias srmdirs='sudo find -depth -mindepth 1 -type d -exec rmdir "{}" --ignore-fail-on-non-empty \;'
|
||||||
alias srs='sudo rsync -avhPS --stats --exclude-from="$HOME/.rsync_exclusions"'
|
alias srs='sudo rsync -avhPS --stats --exclude-from="$HOME/.rsync_exclusions"'
|
||||||
alias srsz='sudo rsync -avhzPS --stats --exclude-from="$HOME/.rsync_exclusions"'
|
alias srsz='sudo rsync -avhzPS --stats --exclude-from="$HOME/.rsync_exclusions"'
|
||||||
|
alias start-wifi='sudo start-wifi'
|
||||||
|
alias td='tmux detach'
|
||||||
alias testdisk='sudo testdisk'
|
alias testdisk='sudo testdisk'
|
||||||
alias umount-all-volumes='for mountpoint in /media/*; do udevil umount "$mountpoint"; done'
|
|
||||||
alias umount='sudo umount'
|
alias umount='sudo umount'
|
||||||
alias unmount-all-volumes='for mountpoint in /media/*; do udevil umount "$mountpoint"; done'
|
|
||||||
alias unmount='sudo umount'
|
alias unmount='sudo umount'
|
||||||
alias wkclone='ddrescue-tui clone'
|
|
||||||
alias wkimage='ddrescue-tui image'
|
|
||||||
3
.linux_items/archlive/airootfs/etc/skel/.bash_logout
Normal file
3
.linux_items/archlive/airootfs/etc/skel/.bash_logout
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#
|
||||||
|
# ~/.bash_logout
|
||||||
|
#
|
||||||
5
.linux_items/archlive/airootfs/etc/skel/.bash_profile
Normal file
5
.linux_items/archlive/airootfs/etc/skel/.bash_profile
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
#
|
||||||
|
# ~/.bash_profile
|
||||||
|
#
|
||||||
|
|
||||||
|
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
||||||
|
|
@ -12,6 +12,3 @@ PS1='[\u@\h \W]\$ '
|
||||||
|
|
||||||
# Update LS_COLORS
|
# Update LS_COLORS
|
||||||
eval $(dircolors ~/.dircolors)
|
eval $(dircolors ~/.dircolors)
|
||||||
|
|
||||||
# WizardKit
|
|
||||||
export PYTHONPATH='/usr/local/bin'
|
|
||||||
|
|
@ -29,7 +29,7 @@
|
||||||
# the top and down respectively.
|
# the top and down respectively.
|
||||||
# The width can be negative. In this case the actual width is the
|
# The width can be negative. In this case the actual width is the
|
||||||
# screen width minus the width defined in within the geometry option.
|
# screen width minus the width defined in within the geometry option.
|
||||||
geometry = "300x5-220+40"
|
geometry = "300x5-30+20"
|
||||||
|
|
||||||
# Show how many messages are currently hidden (because of geometry).
|
# Show how many messages are currently hidden (because of geometry).
|
||||||
indicate_hidden = yes
|
indicate_hidden = yes
|
||||||
314
.linux_items/archlive/airootfs/etc/skel/.config/i3/config
Normal file
314
.linux_items/archlive/airootfs/etc/skel/.config/i3/config
Normal file
|
|
@ -0,0 +1,314 @@
|
||||||
|
# This file has been auto-generated by i3-config-wizard(1).
|
||||||
|
# It will not be overwritten, so edit it as you like.
|
||||||
|
#
|
||||||
|
# Should you change your keyboard layout some time, delete
|
||||||
|
# this file and re-run i3-config-wizard(1).
|
||||||
|
#
|
||||||
|
|
||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
# Configure border style <normal|1pixel|pixel xx|none|pixel>
|
||||||
|
new_window pixel 1
|
||||||
|
new_float normal
|
||||||
|
|
||||||
|
# Hide borders
|
||||||
|
hide_edge_borders none
|
||||||
|
|
||||||
|
# Pulse Audio controls
|
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
|
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
|
||||||
|
|
||||||
|
# alt+tab navi
|
||||||
|
bindsym Mod1+Tab workspace next
|
||||||
|
bindsym Mod1+Shift+Tab workspace prev
|
||||||
|
|
||||||
|
# change borders
|
||||||
|
bindsym $mod+u border none
|
||||||
|
bindsym $mod+y border pixel 1
|
||||||
|
bindsym $mod+n border normal
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
#font Inconsolata:monospace 8
|
||||||
|
font pango:Noto Sans Mono 10, FontAwesome 10
|
||||||
|
|
||||||
|
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||||
|
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||||
|
#font pango:DejaVu Sans Mono 8
|
||||||
|
|
||||||
|
# Before i3 v4.8, we used to recommend this one as the default:
|
||||||
|
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
|
||||||
|
# The font above is very space-efficient, that is, it looks good, sharp and
|
||||||
|
# clear in small sizes. However, its unicode glyph coverage is limited, the old
|
||||||
|
# X core fonts rendering does not support right-to-left and this being a bitmap
|
||||||
|
# font, it doesn’t scale on retina/hidpi displays.
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec i3-sensible-terminal
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
bindsym $mod+q kill
|
||||||
|
bindsym Mod1+F4 kill
|
||||||
|
|
||||||
|
# start dmenu (a program launcher)
|
||||||
|
#bindsym $mod+Shift+d exec dmenu_run
|
||||||
|
# There also is the (new) i3-dmenu-desktop which only displays applications
|
||||||
|
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
|
||||||
|
# installed.
|
||||||
|
#bindsym $mod+Shift+d exec --no-startup-id i3-dmenu-desktop
|
||||||
|
bindsym $mod+r exec "rofi -combi-modi window,drun,run -show combi -modi combi"
|
||||||
|
|
||||||
|
# misc app shortcuts
|
||||||
|
bindsym $mod+d exec "urxvt -title 'Hardware Diagnostics' -e hw-diags"
|
||||||
|
bindsym $mod+f exec "thunar ~"
|
||||||
|
bindsym $mod+i exec "hardinfo"
|
||||||
|
bindsym $mod+m exec "urxvt -title 'Mount All Volumes' -e mount-all-volumes"
|
||||||
|
bindsym $mod+s exec "urxvt -title 'Hardware Diagnostics' -e hw-diags foh"
|
||||||
|
bindsym $mod+t exec "urxvt"
|
||||||
|
bindsym $mod+v exec "urxvt -title 'Hardware Sensors' -e hw-diags-sensors"
|
||||||
|
bindsym $mod+w exec "firefox"
|
||||||
|
|
||||||
|
focus_follows_mouse no
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+j focus left
|
||||||
|
bindsym $mod+k focus down
|
||||||
|
bindsym $mod+l focus up
|
||||||
|
bindsym $mod+semicolon focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# move focused window
|
||||||
|
bindsym $mod+Shift+j move left
|
||||||
|
bindsym $mod+Shift+k move down
|
||||||
|
bindsym $mod+Shift+l move up
|
||||||
|
bindsym $mod+Shift+semicolon move right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# workspace back and forth (with/without active container)
|
||||||
|
workspace_auto_back_and_forth yes
|
||||||
|
bindsym $mod+b workspace back_and_forth
|
||||||
|
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
|
||||||
|
|
||||||
|
# split orientation
|
||||||
|
bindsym $mod+Shift+h split h
|
||||||
|
bindsym $mod+Shift+v split v
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+Shift+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+Shift+s layout stacking
|
||||||
|
bindsym $mod+Shift+w layout tabbed
|
||||||
|
bindsym $mod+Shift+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
#bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# move the currently focused window to the scratchpad
|
||||||
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
|
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||||
|
# If there are multiple scratchpad windows, this command cycles through them.
|
||||||
|
bindsym $mod+minus scratchpad show
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
#bindsym $mod+d focus child
|
||||||
|
|
||||||
|
# Workspace names
|
||||||
|
set $ws1 "一"
|
||||||
|
set $ws2 "二"
|
||||||
|
set $ws3 "三"
|
||||||
|
set $ws4 "四"
|
||||||
|
set $ws5 "五"
|
||||||
|
set $ws6 "六"
|
||||||
|
set $ws7 "七"
|
||||||
|
set $ws8 "八"
|
||||||
|
set $ws9 "九"
|
||||||
|
set $ws10 "十"
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace $ws1
|
||||||
|
bindsym $mod+2 workspace $ws2
|
||||||
|
bindsym $mod+3 workspace $ws3
|
||||||
|
bindsym $mod+4 workspace $ws4
|
||||||
|
bindsym $mod+5 workspace $ws5
|
||||||
|
bindsym $mod+6 workspace $ws6
|
||||||
|
bindsym $mod+7 workspace $ws7
|
||||||
|
bindsym $mod+8 workspace $ws8
|
||||||
|
bindsym $mod+9 workspace $ws9
|
||||||
|
bindsym $mod+0 workspace $ws10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Ctrl+1 move container to workspace $ws1
|
||||||
|
bindsym $mod+Ctrl+2 move container to workspace $ws2
|
||||||
|
bindsym $mod+Ctrl+3 move container to workspace $ws3
|
||||||
|
bindsym $mod+Ctrl+4 move container to workspace $ws4
|
||||||
|
bindsym $mod+Ctrl+5 move container to workspace $ws5
|
||||||
|
bindsym $mod+Ctrl+6 move container to workspace $ws6
|
||||||
|
bindsym $mod+Ctrl+7 move container to workspace $ws7
|
||||||
|
bindsym $mod+Ctrl+8 move container to workspace $ws8
|
||||||
|
bindsym $mod+Ctrl+9 move container to workspace $ws9
|
||||||
|
bindsym $mod+Ctrl+0 move container to workspace $ws10
|
||||||
|
|
||||||
|
# move focused container to workspace and follow
|
||||||
|
bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace $ws10; workspace $ws10
|
||||||
|
|
||||||
|
# Open specific applications in floating mode
|
||||||
|
for_window [title="Slack"] floating enable
|
||||||
|
for_window [title="Screen Layout Editor"] floating enable
|
||||||
|
for_window [class="Galculator"] floating enable border pixel 1
|
||||||
|
for_window [class="Nitrogen"] floating enable sticky enable border normal
|
||||||
|
for_window [title="Hardware Diagnostics"] floating enable
|
||||||
|
for_window [title="Hardware Sensors"] floating enable
|
||||||
|
for_window [title="Mount All Volumes"] floating enable
|
||||||
|
for_window [title="Firefox"] floating enable border normal
|
||||||
|
|
||||||
|
# switch to workspace with urgent window automatically
|
||||||
|
for_window [urgent=latest] focus
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
#bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
#bindsym $mod+Shift+r restart
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym j resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
|
bindsym l resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+Shift+r mode "resize"
|
||||||
|
|
||||||
|
# "System" menu
|
||||||
|
bindsym $mod+x mode "$mode_system"
|
||||||
|
set $mode_system (l)ock, (e)xit, (r)eboot, (s)hutdown, (c)onfig, (i)3
|
||||||
|
mode "$mode_system" {
|
||||||
|
bindsym l exec --no-startup-id i3lock, mode "default"
|
||||||
|
bindsym e exit, mode "default"
|
||||||
|
bindsym r exec reboot, mode "default"
|
||||||
|
bindsym s exec poweroff, mode "default"
|
||||||
|
bindsym c reload, mode "default"
|
||||||
|
bindsym i restart, mode "default"
|
||||||
|
|
||||||
|
# exit system mode: "Enter" or "Escape"
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
#############################
|
||||||
|
### settings for i3-gaps: ###
|
||||||
|
#############################
|
||||||
|
|
||||||
|
# Set inner/outer gaps
|
||||||
|
gaps inner 10
|
||||||
|
gaps outer 4
|
||||||
|
|
||||||
|
# Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
|
||||||
|
# gaps inner|outer current|all set|plus|minus <px>
|
||||||
|
# gaps inner all set 10
|
||||||
|
# gaps outer all plus 5
|
||||||
|
|
||||||
|
# Smart gaps (gaps used if only more than one container on the workspace)
|
||||||
|
smart_gaps on
|
||||||
|
|
||||||
|
# Smart borders (draw borders around container only if it is not the only container on this workspace)
|
||||||
|
# on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0)
|
||||||
|
smart_borders on
|
||||||
|
|
||||||
|
# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces.
|
||||||
|
set $mode_gaps Gaps: (o) outer, (i) inner
|
||||||
|
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
|
||||||
|
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
|
||||||
|
bindsym $mod+Shift+g mode "$mode_gaps"
|
||||||
|
|
||||||
|
mode "$mode_gaps" {
|
||||||
|
bindsym o mode "$mode_gaps_outer"
|
||||||
|
bindsym i mode "$mode_gaps_inner"
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
mode "$mode_gaps_inner" {
|
||||||
|
bindsym plus gaps inner current plus 5
|
||||||
|
bindsym minus gaps inner current minus 5
|
||||||
|
bindsym 0 gaps inner current set 0
|
||||||
|
|
||||||
|
bindsym Shift+plus gaps inner all plus 5
|
||||||
|
bindsym Shift+minus gaps inner all minus 5
|
||||||
|
bindsym Shift+0 gaps inner all set 0
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
mode "$mode_gaps_outer" {
|
||||||
|
bindsym plus gaps outer current plus 5
|
||||||
|
bindsym minus gaps outer current minus 5
|
||||||
|
bindsym 0 gaps outer current set 0
|
||||||
|
|
||||||
|
bindsym Shift+plus gaps outer all plus 5
|
||||||
|
bindsym Shift+minus gaps outer all minus 5
|
||||||
|
bindsym Shift+0 gaps outer all set 0
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||||
|
# finds out, if available)
|
||||||
|
bar {
|
||||||
|
position bottom
|
||||||
|
separator_symbol " "
|
||||||
|
status_command i3status
|
||||||
|
height 26
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
# i3status configuration file.
|
||||||
|
# see "man i3status" for documentation.
|
||||||
|
|
||||||
|
# It is important that this file is edited as UTF-8.
|
||||||
|
# The following line should contain a sharp s:
|
||||||
|
# ß
|
||||||
|
# If the above line is not correctly displayed, fix your editor first!
|
||||||
|
|
||||||
|
general {
|
||||||
|
colors = true
|
||||||
|
interval = 5
|
||||||
|
}
|
||||||
|
|
||||||
|
#order += "disk /"
|
||||||
|
order += "wireless _first_"
|
||||||
|
order += "ethernet _first_"
|
||||||
|
order += "cpu_usage"
|
||||||
|
order += "battery all"
|
||||||
|
order += "volume master"
|
||||||
|
order += "tztime local"
|
||||||
|
#order += "tztime utc"
|
||||||
|
|
||||||
|
cpu_usage {
|
||||||
|
format = " %usage"
|
||||||
|
max_threshold = 90
|
||||||
|
#format_above_threshold = " %usage"
|
||||||
|
degraded_threshold = 75
|
||||||
|
#format_above_degraded_threshold = " %usage"
|
||||||
|
}
|
||||||
|
|
||||||
|
wireless _first_ {
|
||||||
|
format_up = " (%quality at %essid) %ip"
|
||||||
|
format_down = " Down"
|
||||||
|
}
|
||||||
|
|
||||||
|
ethernet _first_ {
|
||||||
|
# if you use %speed, i3status requires root privileges
|
||||||
|
format_up = " %ip"
|
||||||
|
format_down = " Down"
|
||||||
|
}
|
||||||
|
|
||||||
|
battery all {
|
||||||
|
integer_battery_capacity = true
|
||||||
|
format = "%status %percentage"
|
||||||
|
format_down = ""
|
||||||
|
status_chr = ""
|
||||||
|
status_bat = ""
|
||||||
|
status_unk = ""
|
||||||
|
status_full = ""
|
||||||
|
path = "/sys/class/power_supply/BAT%d/uevent"
|
||||||
|
low_threshold = 25
|
||||||
|
threshold_type = percentage
|
||||||
|
}
|
||||||
|
|
||||||
|
volume master {
|
||||||
|
format = " %volume"
|
||||||
|
format_muted = " muted"
|
||||||
|
device = "pulse"
|
||||||
|
}
|
||||||
|
|
||||||
|
tztime local {
|
||||||
|
format = "%F %H:%M"
|
||||||
|
}
|
||||||
|
|
||||||
|
tztime utc {
|
||||||
|
format = "%H:%M"
|
||||||
|
timezone = "UTC"
|
||||||
|
}
|
||||||
|
|
||||||
|
load {
|
||||||
|
format = "%1min"
|
||||||
|
}
|
||||||
|
|
||||||
|
disk "/" {
|
||||||
|
format = "%avail"
|
||||||
|
}
|
||||||
|
|
@ -1,27 +1,25 @@
|
||||||
[Added Associations]
|
[Added Associations]
|
||||||
application/pdf=evince.desktop;
|
application/pdf=mupdf.desktop;
|
||||||
application/vnd.adobe.flash.movie=mpv.desktop;
|
application/vnd.adobe.flash.movie=mpv.desktop;
|
||||||
application/vnd.ms-asf=mpv.desktop;
|
application/vnd.ms-asf=mpv.desktop;
|
||||||
application/x-desktop=leafpad.desktop;
|
|
||||||
audio/flac=mpv.desktop;
|
audio/flac=mpv.desktop;
|
||||||
audio/mp4=mpv.desktop;
|
audio/mp4=mpv.desktop;
|
||||||
audio/mpeg=mpv.desktop;
|
audio/mpeg=mpv.desktop;
|
||||||
audio/x-vorbis+ogg=mpv.desktop;
|
audio/x-vorbis+ogg=mpv.desktop;
|
||||||
image/bmp=gpicview.desktop;
|
image/bmp=ristretto.desktop;
|
||||||
image/gif=gpicview.desktop;
|
image/gif=ristretto.desktop;
|
||||||
image/jpeg=gpicview.desktop;
|
image/jpeg=ristretto.desktop;
|
||||||
image/png=gpicview.desktop;
|
image/png=ristretto.desktop;
|
||||||
image/vnd.microsoft.icon=gpicview.desktop;
|
image/vnd.microsoft.icon=ristretto.desktop;
|
||||||
inode/directory=exo-file-manager.desktop
|
inode/directory=exo-file-manager.desktop
|
||||||
text/plain=leafpad.desktop;
|
text/plain=mousepad.desktop;
|
||||||
text/x-log=leafpad.desktop;
|
|
||||||
video/mp4=mpv.desktop;
|
video/mp4=mpv.desktop;
|
||||||
video/mpeg=mpv.desktop;
|
video/mpeg=mpv.desktop;
|
||||||
video/quicktime=mpv.desktop;
|
video/quicktime=mpv.desktop;
|
||||||
video/x-flv=mpv.desktop;
|
video/x-flv=mpv.desktop;
|
||||||
video/x-matroska=mpv.desktop;
|
video/x-matroska=mpv.desktop;
|
||||||
video/x-ms-wmv=mpv.desktop;
|
|
||||||
video/x-msvideo=mpv.desktop;
|
video/x-msvideo=mpv.desktop;
|
||||||
|
video/x-ms-wmv=mpv.desktop;
|
||||||
x-scheme-handler/http=exo-web-browser.desktop
|
x-scheme-handler/http=exo-web-browser.desktop
|
||||||
x-scheme-handler/https=exo-web-browser.desktop
|
x-scheme-handler/https=exo-web-browser.desktop
|
||||||
x-scheme-handler/trash=exo-file-manager.desktop
|
x-scheme-handler/trash=exo-file-manager.desktop
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
#
|
||||||
|
# These things are run when an Openbox X Session is started.
|
||||||
|
# You may place a similar script in $HOME/.config/openbox/autostart
|
||||||
|
# to run user-specific things.
|
||||||
|
#
|
||||||
|
|
||||||
|
# If you want to use GNOME config tools...
|
||||||
|
#
|
||||||
|
#if test -x /usr/lib/openbox/gnome-settings-daemon >/dev/null; then
|
||||||
|
# /usr/lib/openbox/gnome-settings-daemon &
|
||||||
|
#elif which gnome-settings-daemon >/dev/null 2>&1; then
|
||||||
|
# gnome-settings-daemon &
|
||||||
|
#fi
|
||||||
|
|
||||||
|
# If you want to use XFCE config tools...
|
||||||
|
#
|
||||||
|
#xfce-mcs-manager &
|
||||||
|
|
||||||
|
tint2 &
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<item label="Arch Menu"></item>
|
<item label="Arch Menu"></item>
|
||||||
<separator/>
|
<separator/>
|
||||||
<item label="Hardware Diagnostics"> <action name="Execute">
|
<item label="Hardware Diagnostics"> <action name="Execute">
|
||||||
<execute>st -t "Hardware Diagnostics" -e hw-diags</execute>
|
<execute>urxvt -t "Hardware Diagnostics" -e hw-diags</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Hardware Information"> <action name="Execute">
|
<item label="Hardware Information"> <action name="Execute">
|
||||||
<execute>hardinfo</execute>
|
<execute>hardinfo</execute>
|
||||||
|
|
@ -16,7 +16,10 @@
|
||||||
<execute>gparted</execute>
|
<execute>gparted</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="GSmartControl"> <action name="Execute">
|
<item label="GSmartControl"> <action name="Execute">
|
||||||
<execute>gsmartcontrol_polkit</execute>
|
<execute>gsmartcontrol</execute>
|
||||||
|
</action> </item>
|
||||||
|
<item label="Network Diagnostics"> <action name="Execute">
|
||||||
|
<execute>urxvt -title "Network Diagnostics" -hold -e hw-diags-network</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Web Browser"> <action name="Execute">
|
<item label="Web Browser"> <action name="Execute">
|
||||||
<execute>firefox</execute>
|
<execute>firefox</execute>
|
||||||
|
|
@ -28,32 +31,32 @@
|
||||||
<execute>idle</execute>
|
<execute>idle</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Python"> <action name="Execute">
|
<item label="Python"> <action name="Execute">
|
||||||
<execute>st -e python</execute>
|
<execute>urxvt -e python</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Python (v2.7)"> <action name="Execute">
|
<item label="Python (v2.7)"> <action name="Execute">
|
||||||
<execute>st -e python2.7</execute>
|
<execute>urxvt -e python2.7</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Tclsh8.6"> <action name="Execute">
|
<item label="Tclsh8.6"> <action name="Execute">
|
||||||
<execute>st -e tclsh8.6</execute>
|
<execute>urxvt -e tclsh8.6</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
</menu>
|
</menu>
|
||||||
<menu id="2" label="Editors">
|
<menu id="2" label="Editors">
|
||||||
<item label="hexedit"> <action name="Execute">
|
<item label="hexedit"> <action name="Execute">
|
||||||
<execute>st -e hexedit</execute>
|
<execute>urxvt -e hexedit</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Nano"> <action name="Execute">
|
<item label="Nano"> <action name="Execute">
|
||||||
<execute>st -e nano</execute>
|
<execute>urxvt -e nano</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Vi"> <action name="Execute">
|
<item label="Vi"> <action name="Execute">
|
||||||
<execute>st -e vi</execute>
|
<execute>urxvt -e vi</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Vim"> <action name="Execute">
|
<item label="Vim"> <action name="Execute">
|
||||||
<execute>st -e vim</execute>
|
<execute>urxvt -e vim</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
</menu>
|
</menu>
|
||||||
<menu id="7" label="Multimedia">
|
<menu id="7" label="Multimedia">
|
||||||
<item label="ALSA mixer"> <action name="Execute">
|
<item label="ALSA mixer"> <action name="Execute">
|
||||||
<execute>st -e alsamixer</execute>
|
<execute>urxvt -e alsamixer</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="mpv Media Player"> <action name="Execute">
|
<item label="mpv Media Player"> <action name="Execute">
|
||||||
<execute>mpv</execute>
|
<execute>mpv</execute>
|
||||||
|
|
@ -73,34 +76,34 @@
|
||||||
<execute>bvnc</execute>
|
<execute>bvnc</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="ELinks"> <action name="Execute">
|
<item label="ELinks"> <action name="Execute">
|
||||||
<execute>st -e elinks</execute>
|
<execute>urxvt -e elinks</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="FireFox"> <action name="Execute">
|
<item label="FireFox"> <action name="Execute">
|
||||||
<execute>firefox</execute>
|
<execute>firefox</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="FTP"> <action name="Execute">
|
<item label="FTP"> <action name="Execute">
|
||||||
<execute>st -e ftp</execute>
|
<execute>urxvt -e ftp</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Irssi"> <action name="Execute">
|
<item label="Irssi"> <action name="Execute">
|
||||||
<execute>st -e irssi</execute>
|
<execute>urxvt -e irssi</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="LFTP"> <action name="Execute">
|
<item label="LFTP"> <action name="Execute">
|
||||||
<execute>st -e lftp</execute>
|
<execute>urxvt -e lftp</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Mail"> <action name="Execute">
|
<item label="Mail"> <action name="Execute">
|
||||||
<execute>st -e mail</execute>
|
<execute>urxvt -e mail</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Mail Reader"> <action name="Execute">
|
<item label="Mail Reader"> <action name="Execute">
|
||||||
<execute>exo-open --launch MailReader</execute>
|
<execute>exo-open --launch MailReader</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Talk"> <action name="Execute">
|
<item label="Talk"> <action name="Execute">
|
||||||
<execute>st -e talk</execute>
|
<execute>urxvt -e talk</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Telnet"> <action name="Execute">
|
<item label="Telnet"> <action name="Execute">
|
||||||
<execute>st -e telnet</execute>
|
<execute>urxvt -e telnet</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="TkVNC"> <action name="Execute">
|
<item label="TkVNC"> <action name="Execute">
|
||||||
<execute>st -e tkvnc</execute>
|
<execute>urxvt -e tkvnc</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Web Browser"> <action name="Execute">
|
<item label="Web Browser"> <action name="Execute">
|
||||||
<execute>exo-open --launch WebBrowser</execute>
|
<execute>exo-open --launch WebBrowser</execute>
|
||||||
|
|
@ -114,21 +117,30 @@
|
||||||
</menu>
|
</menu>
|
||||||
<menu id="4" label="Science">
|
<menu id="4" label="Science">
|
||||||
<item label="bc"> <action name="Execute">
|
<item label="bc"> <action name="Execute">
|
||||||
<execute>st -e bc</execute>
|
<execute>urxvt -e bc</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="dc"> <action name="Execute">
|
<item label="dc"> <action name="Execute">
|
||||||
<execute>st -e dc</execute>
|
<execute>urxvt -e dc</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
</menu>
|
</menu>
|
||||||
<menu id="19" label="Shells">
|
<menu id="19" label="Shells">
|
||||||
<item label="MC"> <action name="Execute">
|
<item label="MC"> <action name="Execute">
|
||||||
<execute>st -e mc</execute>
|
<execute>urxvt -e mc</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Thunar File Manager"> <action name="Execute">
|
<item label="Thunar File Manager"> <action name="Execute">
|
||||||
<execute>thunar</execute>
|
<execute>thunar</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="st"> <action name="Execute">
|
<item label="urxvt"> <action name="Execute">
|
||||||
<execute>st</execute>
|
<execute>urxvt</execute>
|
||||||
|
</action> </item>
|
||||||
|
<item label="urxvt (client)"> <action name="Execute">
|
||||||
|
<execute>urxvtc</execute>
|
||||||
|
</action> </item>
|
||||||
|
<item label="urxvt (tabbed)"> <action name="Execute">
|
||||||
|
<execute>urxvt-tabbed</execute>
|
||||||
|
</action> </item>
|
||||||
|
<item label="UXTerm"> <action name="Execute">
|
||||||
|
<execute>uurxvt</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
</menu>
|
</menu>
|
||||||
<menu id="37" label="System">
|
<menu id="37" label="System">
|
||||||
|
|
@ -155,7 +167,7 @@
|
||||||
<execute>/usr/lib/Thunar/ThunarBulkRename</execute>
|
<execute>/usr/lib/Thunar/ThunarBulkRename</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Conky"> <action name="Execute">
|
<item label="Conky"> <action name="Execute">
|
||||||
<execute>st -e conky</execute>
|
<execute>urxvt -e conky</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="GParted"> <action name="Execute">
|
<item label="GParted"> <action name="Execute">
|
||||||
<execute>gparted</execute>
|
<execute>gparted</execute>
|
||||||
|
|
@ -164,19 +176,19 @@
|
||||||
<execute>gsmartcontrol_polkit</execute>
|
<execute>gsmartcontrol_polkit</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Htop"> <action name="Execute">
|
<item label="Htop"> <action name="Execute">
|
||||||
<execute>st -e htop</execute>
|
<execute>urxvt -e htop</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Openbox Menu Editor"> <action name="Execute">
|
<item label="Openbox Menu Editor"> <action name="Execute">
|
||||||
<execute>obmenu</execute>
|
<execute>obmenu</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="pstree"> <action name="Execute">
|
<item label="pstree"> <action name="Execute">
|
||||||
<execute>st -e pstree</execute>
|
<execute>urxvt -e pstree</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="pstree"> <action name="Execute">
|
<item label="pstree"> <action name="Execute">
|
||||||
<execute>st -e /usr/bin/pstree.x11</execute>
|
<execute>urxvt -e /usr/bin/pstree.x11</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Pstree"> <action name="Execute">
|
<item label="Pstree"> <action name="Execute">
|
||||||
<execute>st -e pstree.x11</execute>
|
<execute>urxvt -e pstree.x11</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="System Profiler and Benchmark"> <action name="Execute">
|
<item label="System Profiler and Benchmark"> <action name="Execute">
|
||||||
<execute>hardinfo</execute>
|
<execute>hardinfo</execute>
|
||||||
|
|
@ -185,7 +197,7 @@
|
||||||
<execute>tint2</execute>
|
<execute>tint2</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Top"> <action name="Execute">
|
<item label="Top"> <action name="Execute">
|
||||||
<execute>st -e top</execute>
|
<execute>urxvt -e top</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="VeraCrypt"> <action name="Execute">
|
<item label="VeraCrypt"> <action name="Execute">
|
||||||
<execute>veracrypt</execute>
|
<execute>veracrypt</execute>
|
||||||
|
|
@ -199,19 +211,19 @@
|
||||||
<execute>compton --xrender-sync-fence</execute>
|
<execute>compton --xrender-sync-fence</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Console Matrix (Text)"> <action name="Execute">
|
<item label="Console Matrix (Text)"> <action name="Execute">
|
||||||
<execute>st -e cmatrix</execute>
|
<execute>urxvt -e cmatrix</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="File Manager"> <action name="Execute">
|
<item label="File Manager"> <action name="Execute">
|
||||||
<execute>exo-open --launch FileManager</execute>
|
<execute>exo-open --launch FileManager</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Info"> <action name="Execute">
|
<item label="Info"> <action name="Execute">
|
||||||
<execute>st -e info</execute>
|
<execute>urxvt -e info</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Terminal Emulator"> <action name="Execute">
|
<item label="Terminal Emulator"> <action name="Execute">
|
||||||
<execute>exo-open --launch TerminalEmulator</execute>
|
<execute>exo-open --launch TerminalEmulator</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
<item label="Xev"> <action name="Execute">
|
<item label="Xev"> <action name="Execute">
|
||||||
<execute>st -e xev</execute>
|
<execute>urxvt -e xev</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
</menu>
|
</menu>
|
||||||
<separator/>
|
<separator/>
|
||||||
|
|
@ -222,7 +234,7 @@
|
||||||
</menu>
|
</menu>
|
||||||
<separator/>
|
<separator/>
|
||||||
<item label="Exit"> <action name="Execute">
|
<item label="Exit"> <action name="Execute">
|
||||||
<execute>menu_powermenu</execute>
|
<execute>oblogout</execute>
|
||||||
</action> </item>
|
</action> </item>
|
||||||
</menu>
|
</menu>
|
||||||
</openbox_menu>
|
</openbox_menu>
|
||||||
|
|
@ -42,6 +42,8 @@
|
||||||
'Active' - where the active window is -->
|
'Active' - where the active window is -->
|
||||||
</placement>
|
</placement>
|
||||||
<theme>
|
<theme>
|
||||||
|
<!-- Enable openbox rounded edges -->
|
||||||
|
<cornerRadius menu="yes">4</cornerRadius>
|
||||||
<name>Triste-Orange</name>
|
<name>Triste-Orange</name>
|
||||||
<titleLayout>NLIMC</titleLayout>
|
<titleLayout>NLIMC</titleLayout>
|
||||||
<!--
|
<!--
|
||||||
|
|
@ -57,7 +59,7 @@
|
||||||
<keepBorder>yes</keepBorder>
|
<keepBorder>yes</keepBorder>
|
||||||
<animateIconify>yes</animateIconify>
|
<animateIconify>yes</animateIconify>
|
||||||
<font place="ActiveWindow">
|
<font place="ActiveWindow">
|
||||||
<name>Hack</name>
|
<name>sans</name>
|
||||||
<size>8</size>
|
<size>8</size>
|
||||||
<!-- font size in points -->
|
<!-- font size in points -->
|
||||||
<weight>bold</weight>
|
<weight>bold</weight>
|
||||||
|
|
@ -66,7 +68,7 @@
|
||||||
<!-- 'italic' or 'normal' -->
|
<!-- 'italic' or 'normal' -->
|
||||||
</font>
|
</font>
|
||||||
<font place="InactiveWindow">
|
<font place="InactiveWindow">
|
||||||
<name>Hack</name>
|
<name>sans</name>
|
||||||
<size>8</size>
|
<size>8</size>
|
||||||
<!-- font size in points -->
|
<!-- font size in points -->
|
||||||
<weight>bold</weight>
|
<weight>bold</weight>
|
||||||
|
|
@ -75,7 +77,7 @@
|
||||||
<!-- 'italic' or 'normal' -->
|
<!-- 'italic' or 'normal' -->
|
||||||
</font>
|
</font>
|
||||||
<font place="MenuHeader">
|
<font place="MenuHeader">
|
||||||
<name>Hack</name>
|
<name>sans</name>
|
||||||
<size>9</size>
|
<size>9</size>
|
||||||
<!-- font size in points -->
|
<!-- font size in points -->
|
||||||
<weight>normal</weight>
|
<weight>normal</weight>
|
||||||
|
|
@ -84,7 +86,7 @@
|
||||||
<!-- 'italic' or 'normal' -->
|
<!-- 'italic' or 'normal' -->
|
||||||
</font>
|
</font>
|
||||||
<font place="MenuItem">
|
<font place="MenuItem">
|
||||||
<name>Hack</name>
|
<name>sans</name>
|
||||||
<size>9</size>
|
<size>9</size>
|
||||||
<!-- font size in points -->
|
<!-- font size in points -->
|
||||||
<weight>normal</weight>
|
<weight>normal</weight>
|
||||||
|
|
@ -93,7 +95,7 @@
|
||||||
<!-- 'italic' or 'normal' -->
|
<!-- 'italic' or 'normal' -->
|
||||||
</font>
|
</font>
|
||||||
<font place="ActiveOnScreenDisplay">
|
<font place="ActiveOnScreenDisplay">
|
||||||
<name>Hack</name>
|
<name>sans</name>
|
||||||
<size>9</size>
|
<size>9</size>
|
||||||
<!-- font size in points -->
|
<!-- font size in points -->
|
||||||
<weight>bold</weight>
|
<weight>bold</weight>
|
||||||
|
|
@ -102,7 +104,7 @@
|
||||||
<!-- 'italic' or 'normal' -->
|
<!-- 'italic' or 'normal' -->
|
||||||
</font>
|
</font>
|
||||||
<font place="InactiveOnScreenDisplay">
|
<font place="InactiveOnScreenDisplay">
|
||||||
<name>Hack</name>
|
<name>sans</name>
|
||||||
<size>9</size>
|
<size>9</size>
|
||||||
<!-- font size in points -->
|
<!-- font size in points -->
|
||||||
<weight>bold</weight>
|
<weight>bold</weight>
|
||||||
|
|
@ -295,59 +297,9 @@
|
||||||
<menu>root-menu</menu>
|
<menu>root-menu</menu>
|
||||||
</action>
|
</action>
|
||||||
</keybind>
|
</keybind>
|
||||||
<keybind key="C-A-d">
|
|
||||||
<action name="Execute">
|
|
||||||
<command>st -t "Hardware Diagnostics" -e resize-and-run hw-diags</command>
|
|
||||||
</action>
|
|
||||||
</keybind>
|
|
||||||
<keybind key="C-A-f">
|
|
||||||
<action name="Execute">
|
|
||||||
<command>thunar</command>
|
|
||||||
</action>
|
|
||||||
</keybind>
|
|
||||||
<keybind key="C-A-i">
|
|
||||||
<action name="Execute">
|
|
||||||
<command>hardinfo</command>
|
|
||||||
</action>
|
|
||||||
</keybind>
|
|
||||||
<keybind key="C-A-m">
|
|
||||||
<action name="Execute">
|
|
||||||
<command>st -t "Mount all Volumes" -e resize-and-run mount-all-volumes gui</command>
|
|
||||||
</action>
|
|
||||||
</keybind>
|
|
||||||
<keybind key="C-A-r">
|
|
||||||
<action name="Execute">
|
|
||||||
<command>launcher_slate</command>
|
|
||||||
</action>
|
|
||||||
</keybind>
|
|
||||||
<keybind key="C-A-s">
|
|
||||||
<action name="Execute">
|
|
||||||
<command>st -t "Hardware Diagnostics" -e resize-and-run hw-diags --quick</command>
|
|
||||||
</action>
|
|
||||||
</keybind>
|
|
||||||
<keybind key="C-A-t">
|
|
||||||
<action name="Execute">
|
|
||||||
<command>st -e resize-and-run /bin/zsh</command>
|
|
||||||
</action>
|
|
||||||
</keybind>
|
|
||||||
<keybind key="C-A-v">
|
|
||||||
<action name="Execute">
|
|
||||||
<command>st -t "Hardware Sensors" -e resize-and-run hw-sensors</command>
|
|
||||||
</action>
|
|
||||||
</keybind>
|
|
||||||
<keybind key="C-A-w">
|
|
||||||
<action name="Execute">
|
|
||||||
<command>firefox</command>
|
|
||||||
</action>
|
|
||||||
</keybind>
|
|
||||||
<keybind key="C-A-x">
|
|
||||||
<action name="Execute">
|
|
||||||
<command>menu_powermenu</command>
|
|
||||||
</action>
|
|
||||||
</keybind>
|
|
||||||
<keybind key="W-d">
|
<keybind key="W-d">
|
||||||
<action name="Execute">
|
<action name="Execute">
|
||||||
<command>st -t "Hardware Diagnostics" -e resize-and-run hw-diags</command>
|
<command>urxvt -title "Hardware Diagnostics" -e hw-diags</command>
|
||||||
</action>
|
</action>
|
||||||
</keybind>
|
</keybind>
|
||||||
<keybind key="W-f">
|
<keybind key="W-f">
|
||||||
|
|
@ -362,27 +314,27 @@
|
||||||
</keybind>
|
</keybind>
|
||||||
<keybind key="W-m">
|
<keybind key="W-m">
|
||||||
<action name="Execute">
|
<action name="Execute">
|
||||||
<command>st -t "Mount all Volumes" -e resize-and-run mount-all-volumes gui</command>
|
<command>urxvt -title "Mount all Volumes" -e mount-all-volumes-foh</command>
|
||||||
</action>
|
</action>
|
||||||
</keybind>
|
</keybind>
|
||||||
<keybind key="W-r">
|
<keybind key="W-r">
|
||||||
<action name="Execute">
|
<action name="Execute">
|
||||||
<command>launcher_slate</command>
|
<command>rofi -combi-modi window,drun,run -show combi -modi combi</command>
|
||||||
</action>
|
</action>
|
||||||
</keybind>
|
</keybind>
|
||||||
<keybind key="W-s">
|
<keybind key="W-s">
|
||||||
<action name="Execute">
|
<action name="Execute">
|
||||||
<command>st -t "Hardware Diagnostics" -e resize-and-run hw-diags --quick</command>
|
<command>urxvt -title "Hardware Diagnostics" -e hw-diags foh</command>
|
||||||
</action>
|
</action>
|
||||||
</keybind>
|
</keybind>
|
||||||
<keybind key="W-t">
|
<keybind key="W-t">
|
||||||
<action name="Execute">
|
<action name="Execute">
|
||||||
<command>st -e resize-and-run /bin/zsh</command>
|
<command>urxvt</command>
|
||||||
</action>
|
</action>
|
||||||
</keybind>
|
</keybind>
|
||||||
<keybind key="W-v">
|
<keybind key="W-v">
|
||||||
<action name="Execute">
|
<action name="Execute">
|
||||||
<command>st -t "Hardware Sensors" -e resize-and-run hw-sensors</command>
|
<command>urxvt -title "Hardware Sensors" -e hw-diags-sensors</command>
|
||||||
</action>
|
</action>
|
||||||
</keybind>
|
</keybind>
|
||||||
<keybind key="W-w">
|
<keybind key="W-w">
|
||||||
|
|
@ -392,22 +344,7 @@
|
||||||
</keybind>
|
</keybind>
|
||||||
<keybind key="W-x">
|
<keybind key="W-x">
|
||||||
<action name="Execute">
|
<action name="Execute">
|
||||||
<command>menu_powermenu</command>
|
<command>oblogout</command>
|
||||||
</action>
|
|
||||||
</keybind>
|
|
||||||
<keybind key="XF86AudioRaiseVolume">
|
|
||||||
<action name="Execute">
|
|
||||||
<command>amixer set Master 5%+</command>
|
|
||||||
</action>
|
|
||||||
</keybind>
|
|
||||||
<keybind key="XF86AudioLowerVolume">
|
|
||||||
<action name="Execute">
|
|
||||||
<command>amixer set Master 5%-</command>
|
|
||||||
</action>
|
|
||||||
</keybind>
|
|
||||||
<keybind key="XF86AudioMute">
|
|
||||||
<action name="Execute">
|
|
||||||
<command>amixer set Master toggle</command>
|
|
||||||
</action>
|
</action>
|
||||||
</keybind>
|
</keybind>
|
||||||
</keyboard>
|
</keyboard>
|
||||||
11
.linux_items/archlive/airootfs/etc/skel/.config/rofi/config
Normal file
11
.linux_items/archlive/airootfs/etc/skel/.config/rofi/config
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
! rofi theme
|
||||||
|
rofi.color-enabled: true
|
||||||
|
! bg border separator
|
||||||
|
rofi.color-window: argb:d02d3036, #2d3036, #d64937
|
||||||
|
! bg fg bg-alt hl-bg hl-fg
|
||||||
|
rofi.color-normal: argb:d02d3036, #d8d8d8, argb:d02d3036, #2d3036, #d64937
|
||||||
|
rofi.color-active: argb:d0222222, #d64937, argb:d0222222, #d64937, #d8d8d8
|
||||||
|
rofi.color-urgent: argb:d0888888, #d8d8d8, argb:d0888888, #888888, #d64937
|
||||||
|
|
||||||
|
rofi.separator-style: solid
|
||||||
|
rofi.hide-scrollbar: true
|
||||||
|
|
@ -1,30 +1,34 @@
|
||||||
# WizardKit
|
#---- Generated by tint2conf 2152 ----
|
||||||
|
# See https://gitlab.com/o9000/tint2/wikis/Configure for
|
||||||
|
# full documentation of the configuration options.
|
||||||
|
#-------------------------------------
|
||||||
|
# Gradients
|
||||||
#-------------------------------------
|
#-------------------------------------
|
||||||
# Backgrounds
|
# Backgrounds
|
||||||
# Background 1: Dark BG
|
# Background 1: Active task, Active taskbar, Default task, Iconified task, Inactive desktop name, Inactive taskbar, Panel, Urgent task
|
||||||
rounded = 6
|
rounded = 0
|
||||||
border_width = 0
|
border_width = 0
|
||||||
border_sides = TBLR
|
border_sides = TBLR
|
||||||
background_color = #212121 100
|
background_color = #2d3036 100
|
||||||
border_color = #212121 100
|
border_color = #2d3036 100
|
||||||
background_color_hover = #212121 100
|
background_color_hover = #2d3036 100
|
||||||
border_color_hover = #212121 100
|
border_color_hover = #2d3036 100
|
||||||
background_color_pressed = #212121 100
|
background_color_pressed = #2d3036 100
|
||||||
border_color_pressed = #212121 100
|
border_color_pressed = #2d3036 100
|
||||||
|
|
||||||
# Background 2: Dark BG - Active
|
# Background 2:
|
||||||
rounded = 6
|
rounded = 1
|
||||||
border_width = 0
|
border_width = 0
|
||||||
border_sides = TBLR
|
border_sides = TBLR
|
||||||
background_color = #272727 100
|
background_color = #d8d8d8 30
|
||||||
border_color = #272727 100
|
border_color = #d8d8d8 30
|
||||||
background_color_hover = #272727 100
|
background_color_hover = #d8d8d8 30
|
||||||
border_color_hover = #272727 100
|
border_color_hover = #d8d8d8 30
|
||||||
background_color_pressed = #272727 100
|
background_color_pressed = #d8d8d8 30
|
||||||
border_color_pressed = #272727 100
|
border_color_pressed = #d8d8d8 30
|
||||||
|
|
||||||
# Background 3: Unused?
|
# Background 3:
|
||||||
rounded = 6
|
rounded = 1
|
||||||
border_width = 0
|
border_width = 0
|
||||||
border_sides = TBLR
|
border_sides = TBLR
|
||||||
background_color = #000000 0
|
background_color = #000000 0
|
||||||
|
|
@ -34,9 +38,9 @@ border_color_hover = #000000 0
|
||||||
background_color_pressed = #000000 0
|
background_color_pressed = #000000 0
|
||||||
border_color_pressed = #000000 0
|
border_color_pressed = #000000 0
|
||||||
|
|
||||||
# Background 4: Unused?
|
# Background 4:
|
||||||
rounded = 6
|
rounded = 1
|
||||||
border_width = 0
|
border_width = 1
|
||||||
border_sides = TBLR
|
border_sides = TBLR
|
||||||
background_color = #888888 20
|
background_color = #888888 20
|
||||||
border_color = #ed2323 60
|
border_color = #ed2323 60
|
||||||
|
|
@ -45,9 +49,9 @@ border_color_hover = #ed2323 60
|
||||||
background_color_pressed = #888888 20
|
background_color_pressed = #888888 20
|
||||||
border_color_pressed = #ed2323 60
|
border_color_pressed = #ed2323 60
|
||||||
|
|
||||||
# Background 5: Unused?
|
# Background 5:
|
||||||
rounded = 6
|
rounded = 0
|
||||||
border_width = 0
|
border_width = 1
|
||||||
border_sides = TBLR
|
border_sides = TBLR
|
||||||
background_color = #000000 0
|
background_color = #000000 0
|
||||||
border_color = #000000 0
|
border_color = #000000 0
|
||||||
|
|
@ -56,31 +60,31 @@ border_color_hover = #000000 0
|
||||||
background_color_pressed = #000000 0
|
background_color_pressed = #000000 0
|
||||||
border_color_pressed = #000000 0
|
border_color_pressed = #000000 0
|
||||||
|
|
||||||
# Background 6: Unused?
|
# Background 6:
|
||||||
rounded = 6
|
rounded = 0
|
||||||
border_width = 0
|
border_width = 1
|
||||||
border_sides = TBLR
|
border_sides = TBLR
|
||||||
background_color = #bdbdbd 8
|
background_color = #d8d8d8 8
|
||||||
border_color = #bdbdbd 0
|
border_color = #d8d8d8 0
|
||||||
background_color_hover = #bdbdbd 8
|
background_color_hover = #d8d8d8 8
|
||||||
border_color_hover = #bdbdbd 0
|
border_color_hover = #d8d8d8 0
|
||||||
background_color_pressed = #bdbdbd 8
|
background_color_pressed = #d8d8d8 8
|
||||||
border_color_pressed = #bdbdbd 0
|
border_color_pressed = #d8d8d8 0
|
||||||
|
|
||||||
# Background 7: Tooltip
|
# Background 7: Tooltip
|
||||||
rounded = 6
|
rounded = 3
|
||||||
border_width = 0
|
border_width = 0
|
||||||
border_sides = TBLR
|
border_sides = TBLR
|
||||||
background_color = #272727 90
|
background_color = #222222 90
|
||||||
border_color = #272727 90
|
border_color = #222222 90
|
||||||
background_color_hover = #272727 90
|
background_color_hover = #222222 90
|
||||||
border_color_hover = #272727 90
|
border_color_hover = #222222 90
|
||||||
background_color_pressed = #272727 90
|
background_color_pressed = #222222 90
|
||||||
border_color_pressed = #272727 90
|
border_color_pressed = #222222 90
|
||||||
|
|
||||||
# Background 8: Unused?
|
# Background 8:
|
||||||
rounded = 6
|
rounded = 1
|
||||||
border_width = 0
|
border_width = 1
|
||||||
border_sides = TBLR
|
border_sides = TBLR
|
||||||
background_color = #888888 20
|
background_color = #888888 20
|
||||||
border_color = #888888 20
|
border_color = #888888 20
|
||||||
|
|
@ -89,22 +93,22 @@ border_color_hover = #888888 20
|
||||||
background_color_pressed = #888888 20
|
background_color_pressed = #888888 20
|
||||||
border_color_pressed = #888888 20
|
border_color_pressed = #888888 20
|
||||||
|
|
||||||
# Background 9: Light BG
|
# Background 9: Active desktop name, Clock
|
||||||
rounded = 6
|
rounded = 1
|
||||||
border_width = 0
|
border_width = 1
|
||||||
border_sides = TBLR
|
border_sides = TBLR
|
||||||
background_color = #9e9e9e 100
|
background_color = #d64937 100
|
||||||
border_color = #9e9e9e 100
|
border_color = #d64937 100
|
||||||
background_color_hover = #9e9e9e 100
|
background_color_hover = #d64937 100
|
||||||
border_color_hover = #9e9e9e 100
|
border_color_hover = #d64937 100
|
||||||
gradient_id_hover = 0
|
gradient_id_hover = 0
|
||||||
background_color_pressed = #9e9e9e 100
|
background_color_pressed = #d64937 100
|
||||||
border_color_pressed = #9e9e9e 100
|
border_color_pressed = #d64937 100
|
||||||
|
|
||||||
#-------------------------------------
|
#-------------------------------------
|
||||||
# Panel
|
# Panel
|
||||||
panel_items = TSC
|
panel_items = TSC
|
||||||
panel_size = 99% 30
|
panel_size = 100% 30
|
||||||
panel_margin = 0 0
|
panel_margin = 0 0
|
||||||
panel_padding = 0 0 0
|
panel_padding = 0 0 0
|
||||||
panel_background_id = 1
|
panel_background_id = 1
|
||||||
|
|
@ -131,7 +135,7 @@ mouse_pressed_icon_asb = 100 0 0
|
||||||
# Taskbar
|
# Taskbar
|
||||||
taskbar_mode = single_desktop
|
taskbar_mode = single_desktop
|
||||||
taskbar_hide_if_empty = 0
|
taskbar_hide_if_empty = 0
|
||||||
taskbar_padding = 0
|
taskbar_padding = 2 2 0
|
||||||
taskbar_background_id = 1
|
taskbar_background_id = 1
|
||||||
taskbar_active_background_id = 1
|
taskbar_active_background_id = 1
|
||||||
taskbar_name = 1
|
taskbar_name = 1
|
||||||
|
|
@ -141,9 +145,9 @@ taskbar_always_show_all_desktop_tasks = 1
|
||||||
taskbar_name_padding = 5 2
|
taskbar_name_padding = 5 2
|
||||||
taskbar_name_background_id = 1
|
taskbar_name_background_id = 1
|
||||||
taskbar_name_active_background_id = 9
|
taskbar_name_active_background_id = 9
|
||||||
taskbar_name_font = Hack 10
|
taskbar_name_font = Inconsolata 10
|
||||||
taskbar_name_font_color = #272727 100
|
taskbar_name_font_color = #a9a9a9 100
|
||||||
taskbar_name_active_font_color = #272727 100
|
taskbar_name_active_font_color = #ffffff 100
|
||||||
taskbar_distribute_size = 1
|
taskbar_distribute_size = 1
|
||||||
taskbar_sort_order = title
|
taskbar_sort_order = title
|
||||||
task_align = left
|
task_align = left
|
||||||
|
|
@ -156,10 +160,10 @@ task_centered = 1
|
||||||
urgent_nb_of_blink = 20
|
urgent_nb_of_blink = 20
|
||||||
task_maximum_size = 200 30
|
task_maximum_size = 200 30
|
||||||
task_padding = 2 2 2
|
task_padding = 2 2 2
|
||||||
task_font = Hack 10
|
task_font = Inconsolata 10
|
||||||
task_tooltip = 1
|
task_tooltip = 1
|
||||||
task_font_color = #9e9e9e 100
|
task_font_color = #a8adb5 100
|
||||||
task_active_font_color = #bdbdbd 100
|
task_active_font_color = #ffffff 100
|
||||||
task_urgent_font_color = #a8adb5 100
|
task_urgent_font_color = #a8adb5 100
|
||||||
task_iconified_font_color = #a8adb5 100
|
task_iconified_font_color = #a8adb5 100
|
||||||
task_icon_asb = 100 0 0
|
task_icon_asb = 100 0 0
|
||||||
|
|
@ -167,9 +171,9 @@ task_active_icon_asb = 100 0 0
|
||||||
task_urgent_icon_asb = 100 0 0
|
task_urgent_icon_asb = 100 0 0
|
||||||
task_iconified_icon_asb = 80 0 0
|
task_iconified_icon_asb = 80 0 0
|
||||||
task_background_id = 1
|
task_background_id = 1
|
||||||
task_active_background_id = 2
|
task_active_background_id = 1
|
||||||
task_urgent_background_id = 2
|
task_urgent_background_id = 1
|
||||||
task_iconified_background_id = 2
|
task_iconified_background_id = 1
|
||||||
mouse_left = toggle_iconify
|
mouse_left = toggle_iconify
|
||||||
mouse_middle = none
|
mouse_middle = none
|
||||||
mouse_right = close
|
mouse_right = close
|
||||||
|
|
@ -202,10 +206,10 @@ launcher_tooltip = 1
|
||||||
#time1_format = %a, %d %B @ %H:%M
|
#time1_format = %a, %d %B @ %H:%M
|
||||||
time1_format = %F %H:%M
|
time1_format = %F %H:%M
|
||||||
time2_format =
|
time2_format =
|
||||||
time1_font = Hack 10
|
time1_font = Inconsolata 10
|
||||||
time1_timezone =
|
time1_timezone =
|
||||||
time2_timezone =
|
time2_timezone =
|
||||||
clock_font_color = #272727 100
|
clock_font_color = #ffffff 100
|
||||||
clock_padding = 4 4
|
clock_padding = 4 4
|
||||||
clock_background_id = 9
|
clock_background_id = 9
|
||||||
clock_tooltip =
|
clock_tooltip =
|
||||||
|
|
@ -221,9 +225,9 @@ clock_dwheel_command =
|
||||||
battery_tooltip = 1
|
battery_tooltip = 1
|
||||||
battery_low_status = 20
|
battery_low_status = 20
|
||||||
battery_low_cmd = notify-send "battery low"
|
battery_low_cmd = notify-send "battery low"
|
||||||
bat1_font = Hack 12
|
bat1_font = Inconsolata 12
|
||||||
bat2_font = Hack 12
|
bat2_font = Inconsolata 12
|
||||||
battery_font_color = #bdbdbd 100
|
battery_font_color = #b5b5b5 100
|
||||||
battery_padding = 2 0
|
battery_padding = 2 0
|
||||||
battery_background_id = 0
|
battery_background_id = 0
|
||||||
battery_hide = 96
|
battery_hide = 96
|
||||||
|
|
@ -241,5 +245,6 @@ tooltip_show_timeout = 0
|
||||||
tooltip_hide_timeout = 0
|
tooltip_hide_timeout = 0
|
||||||
tooltip_padding = 2 2
|
tooltip_padding = 2 2
|
||||||
tooltip_background_id = 7
|
tooltip_background_id = 7
|
||||||
tooltip_font_color = #bdbdbd 100
|
tooltip_font_color = #d8d8d8 100
|
||||||
tooltip_font = Hack 12
|
tooltip_font = Inconsolata 12
|
||||||
|
|
||||||
10
.linux_items/archlive/airootfs/etc/skel/.conky_start
Normal file
10
.linux_items/archlive/airootfs/etc/skel/.conky_start
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
CONKY_RC="$HOME/.conkyrc"
|
||||||
|
if [[ -f "/run/archiso/bootmnt/arch/conky.rc" ]]; then
|
||||||
|
CONKY_RC="/run/archiso/bootmnt/arch/conky.rc"
|
||||||
|
fi
|
||||||
|
|
||||||
|
sleep 2s && conky -c "${CONKY_RC}" -dq
|
||||||
|
sleep 5s && killall conky -c "${CONKY_RC}" -dq
|
||||||
|
|
||||||
166
.linux_items/archlive/airootfs/etc/skel/.conkyrc
Normal file
166
.linux_items/archlive/airootfs/etc/skel/.conkyrc
Normal file
|
|
@ -0,0 +1,166 @@
|
||||||
|
# For commands above TEXT check:
|
||||||
|
# http://conky.sourceforge.net/config_settings.html
|
||||||
|
#
|
||||||
|
# For commands available below TEXT check:
|
||||||
|
# http://conky.sourceforge.net/variables.html
|
||||||
|
|
||||||
|
# Bunsen Labs Conky help threads
|
||||||
|
# http://crunchbang.org/forums/viewtopic.php?pid=371424#p371424
|
||||||
|
|
||||||
|
# beta tested by: smacz
|
||||||
|
# Enjoy! :)
|
||||||
|
|
||||||
|
# pkill -xf "conky -q -c $HOME/.config/conky/BL-Default.conkyrc" &
|
||||||
|
### Begin Window Settings #####################
|
||||||
|
own_window yes
|
||||||
|
#own_window_type override
|
||||||
|
own_window_transparent no
|
||||||
|
own_window_hints undecorated,below,skip_taskbar,skip_pager,sticky
|
||||||
|
own_window_colour 000000
|
||||||
|
own_window_class Conky
|
||||||
|
#own_window_title Bunsen Labs Default Conky
|
||||||
|
own_window_title Default Conky
|
||||||
|
|
||||||
|
### ARGB can be used for real transparency
|
||||||
|
### NOTE that a composite manager is required for real transparency.
|
||||||
|
### This option will not work as desired (in most cases) in conjunction with
|
||||||
|
### own_window_type normal
|
||||||
|
own_window_argb_visual yes # Options: yes or no
|
||||||
|
|
||||||
|
### When ARGB visuals are enabled, this use this to modify the alpha value
|
||||||
|
### Use: own_window_type normal
|
||||||
|
### Use: own_window_transparent no
|
||||||
|
### Valid range is 0-255, where 0 is 0% opacity, and 255 is 100% opacity.
|
||||||
|
own_window_argb_value 224
|
||||||
|
|
||||||
|
minimum_size 180 0 ### width | height
|
||||||
|
maximum_width 180
|
||||||
|
|
||||||
|
gap_x 20 ### left | right
|
||||||
|
gap_y 45 ### up | down
|
||||||
|
|
||||||
|
alignment tr
|
||||||
|
####################### End Window Settings ###
|
||||||
|
### Font Settings #############################
|
||||||
|
# Use Xft (anti-aliased font and stuff)
|
||||||
|
use_xft yes
|
||||||
|
xftfont Inconsolata:bold:size=9
|
||||||
|
#xftfont Liberation Sans:size=9
|
||||||
|
|
||||||
|
# Alpha of Xft font. Must be a value at or between 1 and 0 ###
|
||||||
|
xftalpha 1
|
||||||
|
# Force UTF8? requires XFT ###
|
||||||
|
override_utf8_locale yes
|
||||||
|
|
||||||
|
uppercase no
|
||||||
|
######################### End Font Settings ###
|
||||||
|
### Colour Settings ###########################
|
||||||
|
draw_shades no #yes
|
||||||
|
default_shade_color 000000
|
||||||
|
|
||||||
|
draw_outline no # amplifies text if yes
|
||||||
|
default_outline_color 000000
|
||||||
|
|
||||||
|
#default_color 656667 # Waldorf original colour
|
||||||
|
#default_color 7a7a7a # Flame & Bunsen Grey
|
||||||
|
#default_color 929292 # Labs Grey
|
||||||
|
default_color C0C0C0 # Silver
|
||||||
|
color0 B0E0E6 # PowderBlue
|
||||||
|
color1 778899 # LightSlateGray
|
||||||
|
color2 D8BFD8 # Thistle
|
||||||
|
color3 9ACD32 # YellowGreen
|
||||||
|
color4 FFA07A # LightSalmon
|
||||||
|
color5 FFDEAD # NavajoWhite
|
||||||
|
color6 00BFFF # DeepSkyBlue
|
||||||
|
color7 5F9EA0 # CadetBlue
|
||||||
|
color8 BDB76B # DarkKhaki
|
||||||
|
color9 CD5C5C # IndianRed
|
||||||
|
####################### End Colour Settings ###
|
||||||
|
### Borders Section ###########################
|
||||||
|
draw_borders no
|
||||||
|
# Stippled borders?
|
||||||
|
stippled_borders 5
|
||||||
|
# border margins
|
||||||
|
border_inner_margin 5
|
||||||
|
border_outer_margin 0
|
||||||
|
# border width
|
||||||
|
border_width 2
|
||||||
|
# graph borders
|
||||||
|
draw_graph_borders yes #no
|
||||||
|
#default_graph_size 15 40
|
||||||
|
####################### End Borders Section ###
|
||||||
|
### Miscellaneous Section #####################
|
||||||
|
# Boolean value, if true, Conky will be forked to background when started.
|
||||||
|
background yes
|
||||||
|
|
||||||
|
# Adds spaces around certain objects to stop them from moving other things
|
||||||
|
# around, this only helps if you are using a mono font
|
||||||
|
# Options: right, left or none
|
||||||
|
use_spacer none
|
||||||
|
|
||||||
|
# Default and Minimum size is 256 - needs more for single commands that
|
||||||
|
# "call" a lot of text IE: bash scripts
|
||||||
|
text_buffer_size 6144
|
||||||
|
|
||||||
|
# Subtract (file system) buffers from used memory?
|
||||||
|
no_buffers yes
|
||||||
|
|
||||||
|
# change GiB to G and MiB to M
|
||||||
|
short_units yes
|
||||||
|
|
||||||
|
# Like it says, ot pads the decimals on % values
|
||||||
|
# doesn't seem to work since v1.7.1
|
||||||
|
pad_percents 2
|
||||||
|
|
||||||
|
# Imlib2 image cache size, in bytes. Default 4MiB Increase this value if you use
|
||||||
|
# $image lots. Set to 0 to disable the image cache.
|
||||||
|
imlib_cache_size 0
|
||||||
|
|
||||||
|
# Use the Xdbe extension? (eliminates flicker)
|
||||||
|
# It is highly recommended to use own window with this one
|
||||||
|
# so double buffer won't be so big.
|
||||||
|
double_buffer yes
|
||||||
|
|
||||||
|
# Maximum size of user text buffer, i.e. layout below TEXT line in config file
|
||||||
|
# (default is 16384 bytes)
|
||||||
|
# max_user_text 16384
|
||||||
|
|
||||||
|
# Desired output unit of all objects displaying a temperature. Parameters are
|
||||||
|
# either "fahrenheit" or "celsius". The default unit is degree Celsius.
|
||||||
|
# temperature_unit Fahrenheit
|
||||||
|
|
||||||
|
################# End Miscellaneous Section ###
|
||||||
|
#### ${font Monospace:bold:size=10}${alignc}${execpi 600 $HOME/.config/conky/scripts/bunsenweather.sh}
|
||||||
|
update_interval 1
|
||||||
|
|
||||||
|
TEXT
|
||||||
|
${color}${alignc}S Y S T E M I N F O
|
||||||
|
${hr}
|
||||||
|
Date:${alignr}${time %F}
|
||||||
|
Time:${alignr}${time %H:%M}
|
||||||
|
Uptime:${alignr}${uptime_short}
|
||||||
|
|
||||||
|
CPU: ${if_match ${cpu cpu0}<10} ${cpu cpu0}\
|
||||||
|
${else}${if_match ${cpu cpu0}<100} ${cpu cpu0}\
|
||||||
|
${else}${cpu cpu0}${endif}${endif}% Used${alignr}${freq_g} GHz
|
||||||
|
${cpugraph cpu0 20,180 ${color} ${color}}
|
||||||
|
RAM: ${mem} Used${alignr}${memmax}
|
||||||
|
${memgraph 20,180 ${color} ${color}}
|
||||||
|
Disk I/O:
|
||||||
|
${diskiograph 20,180 ${color} ${color}}
|
||||||
|
Down: ${downspeed}${goto 115}Up:${alignr}${upspeed}
|
||||||
|
|
||||||
|
#Network
|
||||||
|
|
||||||
|
${alignc}S H O R T C U T K E Y S
|
||||||
|
${hr}
|
||||||
|
[Super] + d${alignr}HW Diagnostics
|
||||||
|
[Super] + f${alignr}File Manager
|
||||||
|
[Super] + i${alignr}HW Information
|
||||||
|
[Super] + m${alignr}Mount Volumes
|
||||||
|
[Super] + r${alignr}Run Dialog
|
||||||
|
[Super] + s${alignr}SMART Check
|
||||||
|
[Super] + t${alignr}Terminal
|
||||||
|
[Super] + v${alignr}View Temps
|
||||||
|
[Super] + w${alignr}Web Browser
|
||||||
|
[Super] + x${alignr}Logout
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<xbel version="1.0"
|
||||||
|
xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
|
||||||
|
xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
|
||||||
|
>
|
||||||
|
<bookmark href="file:///usr/share/wallpaper" added="2016-05-01T18:50:20Z" modified="2016-05-01T18:50:20Z" visited="2016-05-01T18:50:21Z">
|
||||||
|
<info>
|
||||||
|
<metadata owner="http://freedesktop.org">
|
||||||
|
<mime:mime-type type="inode/directory"/>
|
||||||
|
<bookmark:applications>
|
||||||
|
<bookmark:application name="xfdesktop-settings" exec="'xfdesktop-settings %u'" modified="2016-05-01T18:50:20Z" count="1"/>
|
||||||
|
</bookmark:applications>
|
||||||
|
</metadata>
|
||||||
|
</info>
|
||||||
|
</bookmark>
|
||||||
|
</xbel>
|
||||||
4
.linux_items/archlive/airootfs/etc/skel/.network_start
Normal file
4
.linux_items/archlive/airootfs/etc/skel/.network_start
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
connect-to-network
|
||||||
|
|
||||||
2
.linux_items/archlive/airootfs/etc/skel/.tmux.conf
Normal file
2
.linux_items/archlive/airootfs/etc/skel/.tmux.conf
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
set -g status off
|
||||||
|
set -g pane-active-border-fg white
|
||||||
12
.linux_items/archlive/airootfs/etc/skel/.update_conky
Normal file
12
.linux_items/archlive/airootfs/etc/skel/.update_conky
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
IF_LIST=($(ip l | egrep '^[0-9]+:\s+(eth|en|wl)' | sed -r 's/^[0-9]+:\s+(\w+):.*/\1/' | sort))
|
||||||
|
|
||||||
|
|
||||||
|
for i in "${IF_LIST[@]}"; do
|
||||||
|
if [[ "${i:0:1}" == "e" ]]; then
|
||||||
|
sed -i -r "s/#Network/Wired:\${alignr}\${addr $i}\n#Network/" ~/.conkyrc
|
||||||
|
else
|
||||||
|
sed -i -r "s/#Network/Wireless:\${alignr}\${addr $i}\n#Network/" ~/.conkyrc
|
||||||
|
fi
|
||||||
|
done
|
||||||
21
.linux_items/archlive/airootfs/etc/skel/.update_wallpaper
Normal file
21
.linux_items/archlive/airootfs/etc/skel/.update_wallpaper
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
BOOT_PATH="/run/archiso/bootmnt/arch/"
|
||||||
|
BURNED_IN="/usr/share/wallpaper/burned.in"
|
||||||
|
WALLPAPER="$HOME/.wallpaper.png"
|
||||||
|
|
||||||
|
function link_wall() {
|
||||||
|
sudo rm "$WALLPAPER"
|
||||||
|
sudo ln -s "$1" "$WALLPAPER"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check for wallpaper
|
||||||
|
## Checks BOOT_PATH and uses the BURNED_IN file if nothing is found
|
||||||
|
for f in "$BOOT_PATH"/{Arch,arch}.{jpg,png} "$BURNED_IN"; do
|
||||||
|
if [[ -f "$f" ]]; then
|
||||||
|
link_wall "$f"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
feh --bg-fill "$WALLPAPER"
|
||||||
10
.linux_items/archlive/airootfs/etc/skel/.urxvt_default_res
Normal file
10
.linux_items/archlive/airootfs/etc/skel/.urxvt_default_res
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
XWIDTH="$(xrandr 2>/dev/null | grep '*' | sed -r 's/^\s+([0-9]+)x.*/\1/')"
|
||||||
|
XHEIGHT="$(xrandr 2>/dev/null | grep '*' | sed -r 's/^\s+[0-9]+x([0-9]+).*/\1/')"
|
||||||
|
|
||||||
|
WIDTH="$(echo "${XWIDTH}*92/1024" | bc)"
|
||||||
|
HEIGHT="$(echo "${XHEIGHT}*32/768" | bc)"
|
||||||
|
|
||||||
|
sed -i -r "s/(URxvt.geometry:\s+).*/\1${WIDTH}x${HEIGHT}+24+24/" ~/.Xresources
|
||||||
|
xrdb -merge ~/.Xresources
|
||||||
|
|
@ -54,15 +54,11 @@ endif
|
||||||
" 2Shirt Stuff
|
" 2Shirt Stuff
|
||||||
set autoindent " align the new line indent with the previous line
|
set autoindent " align the new line indent with the previous line
|
||||||
set expandtab " insert spaces when hitting TABs
|
set expandtab " insert spaces when hitting TABs
|
||||||
set nowrap " I'd rather manually wrap than manually unwrap
|
|
||||||
set shiftround " round indent to multiple of 'shiftwidth'
|
set shiftround " round indent to multiple of 'shiftwidth'
|
||||||
set shiftwidth=2 " operation >> indents 2 columns; << unindents 2 columns
|
set shiftwidth=4 " operation >> indents 4 columns; << unindents 4 columns
|
||||||
set softtabstop=2 " insert/delete 2 spaces when hitting a TAB/BACKSPACE
|
set softtabstop=4 " insert/delete 4 spaces when hitting a TAB/BACKSPACE
|
||||||
set tabstop=2 " an hard TAB displays as 2 columns
|
set tabstop=4 " an hard TAB displays as 4 columns
|
||||||
|
|
||||||
" Python Stuff.
|
" Python Stuff.
|
||||||
au FileType python set textwidth=79 " lines longer than 79 columns will be broken
|
au FileType python set textwidth=79 " lines longer than 79 columns will be broken
|
||||||
|
|
||||||
" Do wrap stuff
|
|
||||||
au FileType text set wrap
|
|
||||||
|
|
||||||
19
.linux_items/archlive/airootfs/etc/skel/.xinitrc
Normal file
19
.linux_items/archlive/airootfs/etc/skel/.xinitrc
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
dbus-update-activation-environment --systemd DISPLAY
|
||||||
|
xrdb -merge $HOME/.Xresources
|
||||||
|
xset s off
|
||||||
|
xset -dpms
|
||||||
|
eval $(ssh-agent)
|
||||||
|
export SSH_AUTH_SOCK
|
||||||
|
compton &
|
||||||
|
sleep 1s
|
||||||
|
conky -d
|
||||||
|
nm-applet &
|
||||||
|
cbatticon &
|
||||||
|
pasystray &
|
||||||
|
$HOME/.network_start &
|
||||||
|
$HOME/.urxvt_default_res &
|
||||||
|
$HOME/.update_wallpaper &
|
||||||
|
$HOME/.update_conky &
|
||||||
|
exec openbox-session
|
||||||
13
.linux_items/archlive/airootfs/etc/skel/.zlogin
Normal file
13
.linux_items/archlive/airootfs/etc/skel/.zlogin
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
setterm -blank 0 -powerdown 0
|
||||||
|
if [ "$(fgconsole 2>/dev/null)" -eq "1" ]; then
|
||||||
|
if ! fgrep -q "nox" /proc/cmdline; then
|
||||||
|
if fgrep -q "i3" /proc/cmdline; then
|
||||||
|
sed -i -r 's/#(own_window_type override)/\1/' ~/.conkyrc
|
||||||
|
sed -i -r 's/openbox-session/i3/' ~/.xinitrc
|
||||||
|
fi
|
||||||
|
startx
|
||||||
|
else
|
||||||
|
hw-diags cli
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
90
.linux_items/archlive/airootfs/etc/skel/.zshrc
Normal file
90
.linux_items/archlive/airootfs/etc/skel/.zshrc
Normal file
|
|
@ -0,0 +1,90 @@
|
||||||
|
# If you come from bash you might have to change your $PATH.
|
||||||
|
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
||||||
|
|
||||||
|
# Path to your oh-my-zsh installation.
|
||||||
|
export ZSH=$HOME/.oh-my-zsh
|
||||||
|
|
||||||
|
# Set name of the theme to load. Optionally, if you set this to "random"
|
||||||
|
# it'll load a random theme each time that oh-my-zsh is loaded.
|
||||||
|
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
|
||||||
|
ZSH_THEME="lean"
|
||||||
|
|
||||||
|
# Uncomment the following line to use case-sensitive completion.
|
||||||
|
# CASE_SENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to use hyphen-insensitive completion. Case
|
||||||
|
# sensitive completion must be off. _ and - will be interchangeable.
|
||||||
|
# HYPHEN_INSENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable bi-weekly auto-update checks.
|
||||||
|
DISABLE_AUTO_UPDATE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to change how often to auto-update (in days).
|
||||||
|
# export UPDATE_ZSH_DAYS=13
|
||||||
|
|
||||||
|
# Uncomment the following line to disable colors in ls.
|
||||||
|
# DISABLE_LS_COLORS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable auto-setting terminal title.
|
||||||
|
# DISABLE_AUTO_TITLE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to enable command auto-correction.
|
||||||
|
# ENABLE_CORRECTION="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||||
|
# COMPLETION_WAITING_DOTS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to disable marking untracked files
|
||||||
|
# under VCS as dirty. This makes repository status check for large repositories
|
||||||
|
# much, much faster.
|
||||||
|
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to change the command execution time
|
||||||
|
# stamp shown in the history command output.
|
||||||
|
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
||||||
|
HIST_STAMPS="yyyy-mm-dd"
|
||||||
|
|
||||||
|
# Would you like to use another custom folder than $ZSH/custom?
|
||||||
|
# ZSH_CUSTOM=/path/to/new-custom-folder
|
||||||
|
|
||||||
|
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
|
||||||
|
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
|
||||||
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
|
# Add wisely, as too many plugins slow down shell startup.
|
||||||
|
plugins=(archlinux git sudo systemd tmux)
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
|
# User configuration
|
||||||
|
|
||||||
|
# export MANPATH="/usr/local/man:$MANPATH"
|
||||||
|
|
||||||
|
# You may need to manually set your language environment
|
||||||
|
# export LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
# Preferred editor for local and remote sessions
|
||||||
|
# if [[ -n $SSH_CONNECTION ]]; then
|
||||||
|
# export EDITOR='vim'
|
||||||
|
# else
|
||||||
|
# export EDITOR='mvim'
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# Compilation flags
|
||||||
|
# export ARCHFLAGS="-arch x86_64"
|
||||||
|
|
||||||
|
# ssh
|
||||||
|
# export SSH_KEY_PATH="~/.ssh/rsa_id"
|
||||||
|
|
||||||
|
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
||||||
|
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
||||||
|
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
|
||||||
|
# For a full list of active aliases, run `alias`.
|
||||||
|
#
|
||||||
|
# Example aliases
|
||||||
|
# alias zshconfig="mate ~/.zshrc"
|
||||||
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||||
|
|
||||||
|
## Load aliases
|
||||||
|
. $HOME/.aliases
|
||||||
|
|
||||||
|
## Update LS_COLORS
|
||||||
|
eval $(dircolors ~/.dircolors)
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
/usr/lib/systemd/system/NetworkManager.service
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
/usr/lib/systemd/system/NetworkManager-dispatcher.service
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
/usr/lib/systemd/system/lightdm.service
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
/usr/lib/systemd/system/getty@.service
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
[Service]
|
||||||
|
ExecStart=
|
||||||
|
ExecStart=-/sbin/agetty --autologin wktech --noclear %I 38400 linux
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
/usr/lib/systemd/system/NetworkManager.service
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
/usr/lib/systemd/system/rngd.service
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
/usr/lib/systemd/system/sshd.service
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
/usr/lib/systemd/system/ufw.service
|
||||||
|
|
@ -119,7 +119,7 @@ allowed_media_dirs = /media
|
||||||
# allowed_devices = /dev/*
|
# allowed_devices = /dev/*
|
||||||
# WARNING: ALLOWING USERS TO MOUNT DEVICES OUTSIDE OF /dev CAN CAUSE SERIOUS
|
# WARNING: ALLOWING USERS TO MOUNT DEVICES OUTSIDE OF /dev CAN CAUSE SERIOUS
|
||||||
# SECURITY PROBLEMS. DO NOT ALLOW DEVICES IN /dev/shm
|
# SECURITY PROBLEMS. DO NOT ALLOW DEVICES IN /dev/shm
|
||||||
allowed_devices = /dev/*, /dev/mapper/*
|
allowed_devices = /dev/*
|
||||||
|
|
||||||
|
|
||||||
# allowed_internal_devices causes udevil to treat any listed block devices as
|
# allowed_internal_devices causes udevil to treat any listed block devices as
|
||||||
|
|
@ -133,7 +133,7 @@ allowed_devices = /dev/*, /dev/mapper/*
|
||||||
# Some removable esata drives look like internal drives to udevil. To avoid
|
# Some removable esata drives look like internal drives to udevil. To avoid
|
||||||
# this problem, they can be treated as removable with this setting.
|
# this problem, they can be treated as removable with this setting.
|
||||||
# WARNING: SETTING A SYSTEM DEVICE HERE CAN CAUSE SERIOUS SECURITY PROBLEMS.
|
# WARNING: SETTING A SYSTEM DEVICE HERE CAN CAUSE SERIOUS SECURITY PROBLEMS.
|
||||||
allowed_internal_devices = /dev/*, /dev/mapper/*
|
allowed_internal_devices = /dev/*
|
||||||
|
|
||||||
|
|
||||||
# allowed_internal_uuids and allowed_internal_uuids_FSTYPE work similarly to
|
# allowed_internal_uuids and allowed_internal_uuids_FSTYPE work similarly to
|
||||||
40
.linux_items/archlive/airootfs/etc/ufw/after.init
Normal file
40
.linux_items/archlive/airootfs/etc/ufw/after.init
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# after.init: if executable, called by ufw-init. See 'man ufw-framework' for
|
||||||
|
# details. Note that output from these scripts is not seen via the
|
||||||
|
# the ufw command, but instead via ufw-init.
|
||||||
|
#
|
||||||
|
# Copyright 2013 Canonical Ltd.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License version 3,
|
||||||
|
# as published by the Free Software Foundation.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
set -e
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
# typically required
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
# typically required
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
# optional
|
||||||
|
;;
|
||||||
|
flush-all)
|
||||||
|
# optional
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "'$1' not supported"
|
||||||
|
echo "Usage: after.init {start|stop|flush-all|status}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
30
.linux_items/archlive/airootfs/etc/ufw/after.rules
Normal file
30
.linux_items/archlive/airootfs/etc/ufw/after.rules
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
#
|
||||||
|
# rules.input-after
|
||||||
|
#
|
||||||
|
# Rules that should be run after the ufw command line added rules. Custom
|
||||||
|
# rules should be added to one of these chains:
|
||||||
|
# ufw-after-input
|
||||||
|
# ufw-after-output
|
||||||
|
# ufw-after-forward
|
||||||
|
#
|
||||||
|
|
||||||
|
# Don't delete these required lines, otherwise there will be errors
|
||||||
|
*filter
|
||||||
|
:ufw-after-input - [0:0]
|
||||||
|
:ufw-after-output - [0:0]
|
||||||
|
:ufw-after-forward - [0:0]
|
||||||
|
# End required lines
|
||||||
|
|
||||||
|
# don't log noisy services by default
|
||||||
|
-A ufw-after-input -p udp --dport 137 -j ufw-skip-to-policy-input
|
||||||
|
-A ufw-after-input -p udp --dport 138 -j ufw-skip-to-policy-input
|
||||||
|
-A ufw-after-input -p tcp --dport 139 -j ufw-skip-to-policy-input
|
||||||
|
-A ufw-after-input -p tcp --dport 445 -j ufw-skip-to-policy-input
|
||||||
|
-A ufw-after-input -p udp --dport 67 -j ufw-skip-to-policy-input
|
||||||
|
-A ufw-after-input -p udp --dport 68 -j ufw-skip-to-policy-input
|
||||||
|
|
||||||
|
# don't log noisy broadcast
|
||||||
|
-A ufw-after-input -m addrtype --dst-type BROADCAST -j ufw-skip-to-policy-input
|
||||||
|
|
||||||
|
# don't delete the 'COMMIT' line or these rules won't be processed
|
||||||
|
COMMIT
|
||||||
27
.linux_items/archlive/airootfs/etc/ufw/after6.rules
Normal file
27
.linux_items/archlive/airootfs/etc/ufw/after6.rules
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
#
|
||||||
|
# rules.input-after
|
||||||
|
#
|
||||||
|
# Rules that should be run after the ufw command line added rules. Custom
|
||||||
|
# rules should be added to one of these chains:
|
||||||
|
# ufw6-after-input
|
||||||
|
# ufw6-after-output
|
||||||
|
# ufw6-after-forward
|
||||||
|
#
|
||||||
|
|
||||||
|
# Don't delete these required lines, otherwise there will be errors
|
||||||
|
*filter
|
||||||
|
:ufw6-after-input - [0:0]
|
||||||
|
:ufw6-after-output - [0:0]
|
||||||
|
:ufw6-after-forward - [0:0]
|
||||||
|
# End required lines
|
||||||
|
|
||||||
|
# don't log noisy services by default
|
||||||
|
-A ufw6-after-input -p udp --dport 137 -j ufw6-skip-to-policy-input
|
||||||
|
-A ufw6-after-input -p udp --dport 138 -j ufw6-skip-to-policy-input
|
||||||
|
-A ufw6-after-input -p tcp --dport 139 -j ufw6-skip-to-policy-input
|
||||||
|
-A ufw6-after-input -p tcp --dport 445 -j ufw6-skip-to-policy-input
|
||||||
|
-A ufw6-after-input -p udp --dport 546 -j ufw6-skip-to-policy-input
|
||||||
|
-A ufw6-after-input -p udp --dport 547 -j ufw6-skip-to-policy-input
|
||||||
|
|
||||||
|
# don't delete the 'COMMIT' line or these rules won't be processed
|
||||||
|
COMMIT
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
[Transmission]
|
||||||
|
title=Transmission
|
||||||
|
description=Transmission BitTorrent client
|
||||||
|
ports=51413/tcp
|
||||||
|
|
||||||
|
[Deluge]
|
||||||
|
title=Deluge
|
||||||
|
description=Deluge BitTorrent client
|
||||||
|
ports=6881:6891/tcp
|
||||||
|
|
||||||
|
[KTorrent]
|
||||||
|
title=KTorrent
|
||||||
|
description=KTorrent BitTorrent client
|
||||||
|
ports=6881/tcp|4444/udp
|
||||||
|
|
||||||
|
[qBittorrent]
|
||||||
|
title=qBittorrent
|
||||||
|
description=qBittorrent BitTorrent client
|
||||||
|
ports=6881/tcp
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
[PeopleNearby]
|
||||||
|
title=People Nearby
|
||||||
|
description=People Nearby (Bonjour/Salut) functionality in Empathy
|
||||||
|
ports=5353/udp|5298
|
||||||
|
|
||||||
|
[Bonjour]
|
||||||
|
title=Bonjour
|
||||||
|
description=Bonjour protocol
|
||||||
|
ports=5353/udp|5298
|
||||||
|
|
||||||
|
[MSN]
|
||||||
|
title=MSN Chat
|
||||||
|
description=MSN chat protocol (with file transfer and voice)
|
||||||
|
ports=1863|6891:6900/tcp|6901
|
||||||
|
|
||||||
|
[MSN SSL]
|
||||||
|
title=MSN Chat (SSL)
|
||||||
|
description=MSN chat protocol (SSL)
|
||||||
|
ports=443/tcp
|
||||||
|
|
||||||
|
[AIM]
|
||||||
|
title=AIM Talk
|
||||||
|
description=AIM talk protocol
|
||||||
|
ports=5190/tcp
|
||||||
|
|
||||||
|
[Yahoo]
|
||||||
|
title=Yahoo Chat
|
||||||
|
description=Yahoo chat protocol
|
||||||
|
ports=5050
|
||||||
|
|
||||||
|
[XMPP]
|
||||||
|
title=XMPP Chat
|
||||||
|
description=XMPP protocol (Jabber and Google Talk)
|
||||||
|
ports=5222/tcp|5269/tcp
|
||||||
|
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
[Kerberos KDC]
|
||||||
|
title=Kerberos v5 KDC server
|
||||||
|
description=Kerberos v5 KDC server
|
||||||
|
ports=88
|
||||||
|
|
||||||
|
[Kerberos Admin]
|
||||||
|
title=Kerberos v5 admin
|
||||||
|
description=Kerberos v5 server
|
||||||
|
ports=749/tcp
|
||||||
|
|
||||||
|
[Kerberos Password]
|
||||||
|
title=Kerberos v5 password
|
||||||
|
description=Kerberos v5 password
|
||||||
|
ports=464/udp
|
||||||
|
|
||||||
|
[Kerberos Full]
|
||||||
|
title=Kerberos v5 server
|
||||||
|
description=Kerberos v5 server
|
||||||
|
ports=88,749/tcp|464/udp
|
||||||
|
|
||||||
|
[LDAP]
|
||||||
|
title=LDAP server
|
||||||
|
description=LDAP server
|
||||||
|
ports=389/tcp
|
||||||
|
|
||||||
|
[LDAPS]
|
||||||
|
title=LDAP server (LDAPS)
|
||||||
|
description=LDAP server (LDAPS)
|
||||||
|
ports=636/tcp
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
[DNS]
|
||||||
|
title=Internet Domain Name Server
|
||||||
|
description=Internet Domain Name Server
|
||||||
|
ports=53
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
[CIFS]
|
||||||
|
title=SMB/CIFS server
|
||||||
|
description=SMB/CIFS server
|
||||||
|
ports=137,138/udp|139,445/tcp
|
||||||
|
|
||||||
|
[NFS]
|
||||||
|
title=NFS server
|
||||||
|
description=NFS and portmap server. Will also need access to mountd, statd and possibly others
|
||||||
|
ports=2049,111/tcp|2049,111/udp
|
||||||
|
|
||||||
|
[svnserve]
|
||||||
|
title=Subversion server
|
||||||
|
description=Subversion server for access to Subversion repositories.
|
||||||
|
ports=3690/tcp
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
[Telnet]
|
||||||
|
title=Telnet server (insecure)
|
||||||
|
description=Telnet server (insecure)
|
||||||
|
ports=23/tcp
|
||||||
|
|
||||||
|
[SSH]
|
||||||
|
title=SSH server
|
||||||
|
description=SSH server
|
||||||
|
ports=22/tcp
|
||||||
|
|
||||||
|
[VNC]
|
||||||
|
title=VNC server
|
||||||
|
description=VNC server
|
||||||
|
ports=5900/tcp
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
[POP3]
|
||||||
|
title=Mail server (POP3)
|
||||||
|
description=Mail server (POP3)
|
||||||
|
ports=110/tcp
|
||||||
|
|
||||||
|
[POP3S]
|
||||||
|
title=Secure mail server (POP3S)
|
||||||
|
description=Secure mail server (POP3S)
|
||||||
|
ports=995/tcp
|
||||||
|
|
||||||
|
[IMAP]
|
||||||
|
title=Mail server (IMAP)
|
||||||
|
description=Mail server (IMAP)
|
||||||
|
ports=143/tcp
|
||||||
|
|
||||||
|
[IMAPS]
|
||||||
|
title=Secure mail server (IMAPS)
|
||||||
|
description=Secure mail server (IMAPS)
|
||||||
|
ports=993/tcp
|
||||||
|
|
||||||
|
[SMTP]
|
||||||
|
title=Mail server (SMTP)
|
||||||
|
description=Mail server (SMTP)
|
||||||
|
ports=25/tcp
|
||||||
|
|
||||||
|
[Mail submission]
|
||||||
|
title=Mail server (Submission)
|
||||||
|
description=Mail server (Submission)
|
||||||
|
ports=587/tcp
|
||||||
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
[IPP]
|
||||||
|
title=Cups server (IPP)
|
||||||
|
description=Cups server (IPP)
|
||||||
|
ports=631
|
||||||
|
|
||||||
|
[LPD]
|
||||||
|
title=LPD server
|
||||||
|
description=LPD server
|
||||||
|
ports=515/tcp
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
[Socks]
|
||||||
|
title=Socks proxy
|
||||||
|
description=Socks proxy
|
||||||
|
ports=1080/tcp
|
||||||
|
|
||||||
|
[Transparent Proxy]
|
||||||
|
title=Transparent proxy
|
||||||
|
description=Transparent proxy
|
||||||
|
ports=8081/tcp
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
[WWW]
|
||||||
|
title=Web Server
|
||||||
|
description=Web server
|
||||||
|
ports=80/tcp
|
||||||
|
|
||||||
|
[WWW Secure]
|
||||||
|
title=Web Server (HTTPS)
|
||||||
|
description=Web Server (HTTPS)
|
||||||
|
ports=443/tcp
|
||||||
|
|
||||||
|
[WWW Full]
|
||||||
|
title=Web Server (HTTP,HTTPS)
|
||||||
|
description=Web Server (HTTP,HTTPS)
|
||||||
|
ports=80,443/tcp
|
||||||
|
|
||||||
|
[WWW Cache]
|
||||||
|
title=Web Server (8080)
|
||||||
|
description=Web Server (8080)
|
||||||
|
ports=8080/tcp
|
||||||
40
.linux_items/archlive/airootfs/etc/ufw/before.init
Normal file
40
.linux_items/archlive/airootfs/etc/ufw/before.init
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# before.init: if executable, called by ufw-init. See 'man ufw-framework' for
|
||||||
|
# details. Note that output from these scripts is not seen via the
|
||||||
|
# the ufw command, but instead via ufw-init.
|
||||||
|
#
|
||||||
|
# Copyright 2013 Canonical Ltd.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License version 3,
|
||||||
|
# as published by the Free Software Foundation.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
set -e
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
# typically required
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
# typically required
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
# optional
|
||||||
|
;;
|
||||||
|
flush-all)
|
||||||
|
# optional
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "'$1' not supported"
|
||||||
|
echo "Usage: before.init {start|stop|flush-all|status}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
77
.linux_items/archlive/airootfs/etc/ufw/before.rules
Normal file
77
.linux_items/archlive/airootfs/etc/ufw/before.rules
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
#
|
||||||
|
# rules.before
|
||||||
|
#
|
||||||
|
# Rules that should be run before the ufw command line added rules. Custom
|
||||||
|
# rules should be added to one of these chains:
|
||||||
|
# ufw-before-input
|
||||||
|
# ufw-before-output
|
||||||
|
# ufw-before-forward
|
||||||
|
#
|
||||||
|
|
||||||
|
# Don't delete these required lines, otherwise there will be errors
|
||||||
|
*filter
|
||||||
|
:ufw-before-input - [0:0]
|
||||||
|
:ufw-before-output - [0:0]
|
||||||
|
:ufw-before-forward - [0:0]
|
||||||
|
:ufw-not-local - [0:0]
|
||||||
|
# End required lines
|
||||||
|
|
||||||
|
|
||||||
|
# allow all on loopback
|
||||||
|
-A ufw-before-input -i lo -j ACCEPT
|
||||||
|
-A ufw-before-output -o lo -j ACCEPT
|
||||||
|
|
||||||
|
# quickly process packets for which we already have a connection
|
||||||
|
-A ufw-before-input -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||||
|
-A ufw-before-output -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||||
|
-A ufw-before-forward -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||||
|
|
||||||
|
# drop INVALID packets (logs these in loglevel medium and higher)
|
||||||
|
-A ufw-before-input -m conntrack --ctstate INVALID -j ufw-logging-deny
|
||||||
|
-A ufw-before-input -m conntrack --ctstate INVALID -j DROP
|
||||||
|
|
||||||
|
# ok icmp codes for INPUT
|
||||||
|
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
|
||||||
|
-A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT
|
||||||
|
-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
|
||||||
|
-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
|
||||||
|
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
|
||||||
|
|
||||||
|
# ok icmp code for FORWARD
|
||||||
|
-A ufw-before-forward -p icmp --icmp-type destination-unreachable -j ACCEPT
|
||||||
|
-A ufw-before-forward -p icmp --icmp-type source-quench -j ACCEPT
|
||||||
|
-A ufw-before-forward -p icmp --icmp-type time-exceeded -j ACCEPT
|
||||||
|
-A ufw-before-forward -p icmp --icmp-type parameter-problem -j ACCEPT
|
||||||
|
-A ufw-before-forward -p icmp --icmp-type echo-request -j ACCEPT
|
||||||
|
|
||||||
|
# allow dhcp client to work
|
||||||
|
-A ufw-before-input -p udp --sport 67 --dport 68 -j ACCEPT
|
||||||
|
|
||||||
|
#
|
||||||
|
# ufw-not-local
|
||||||
|
#
|
||||||
|
-A ufw-before-input -j ufw-not-local
|
||||||
|
|
||||||
|
# if LOCAL, RETURN
|
||||||
|
-A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN
|
||||||
|
|
||||||
|
# if MULTICAST, RETURN
|
||||||
|
-A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN
|
||||||
|
|
||||||
|
# if BROADCAST, RETURN
|
||||||
|
-A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN
|
||||||
|
|
||||||
|
# all other non-local packets are dropped
|
||||||
|
-A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny
|
||||||
|
-A ufw-not-local -j DROP
|
||||||
|
|
||||||
|
# allow MULTICAST mDNS for service discovery (be sure the MULTICAST line above
|
||||||
|
# is uncommented)
|
||||||
|
-A ufw-before-input -p udp -d 224.0.0.251 --dport 5353 -j ACCEPT
|
||||||
|
|
||||||
|
# allow MULTICAST UPnP for service discovery (be sure the MULTICAST line above
|
||||||
|
# is uncommented)
|
||||||
|
-A ufw-before-input -p udp -d 239.255.255.250 --dport 1900 -j ACCEPT
|
||||||
|
|
||||||
|
# don't delete the 'COMMIT' line or these rules won't be processed
|
||||||
|
COMMIT
|
||||||
138
.linux_items/archlive/airootfs/etc/ufw/before6.rules
Normal file
138
.linux_items/archlive/airootfs/etc/ufw/before6.rules
Normal file
|
|
@ -0,0 +1,138 @@
|
||||||
|
#
|
||||||
|
# rules.before
|
||||||
|
#
|
||||||
|
# Rules that should be run before the ufw command line added rules. Custom
|
||||||
|
# rules should be added to one of these chains:
|
||||||
|
# ufw6-before-input
|
||||||
|
# ufw6-before-output
|
||||||
|
# ufw6-before-forward
|
||||||
|
#
|
||||||
|
|
||||||
|
# Don't delete these required lines, otherwise there will be errors
|
||||||
|
*filter
|
||||||
|
:ufw6-before-input - [0:0]
|
||||||
|
:ufw6-before-output - [0:0]
|
||||||
|
:ufw6-before-forward - [0:0]
|
||||||
|
# End required lines
|
||||||
|
|
||||||
|
|
||||||
|
# allow all on loopback
|
||||||
|
-A ufw6-before-input -i lo -j ACCEPT
|
||||||
|
-A ufw6-before-output -o lo -j ACCEPT
|
||||||
|
|
||||||
|
# drop packets with RH0 headers
|
||||||
|
-A ufw6-before-input -m rt --rt-type 0 -j DROP
|
||||||
|
-A ufw6-before-forward -m rt --rt-type 0 -j DROP
|
||||||
|
-A ufw6-before-output -m rt --rt-type 0 -j DROP
|
||||||
|
|
||||||
|
# quickly process packets for which we already have a connection
|
||||||
|
-A ufw6-before-input -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||||
|
-A ufw6-before-output -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||||
|
-A ufw6-before-forward -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
|
||||||
|
|
||||||
|
# drop INVALID packets (logs these in loglevel medium and higher)
|
||||||
|
-A ufw6-before-input -m conntrack --ctstate INVALID -j ufw6-logging-deny
|
||||||
|
-A ufw6-before-input -m conntrack --ctstate INVALID -j DROP
|
||||||
|
|
||||||
|
# ok icmp codes for INPUT (rfc4890, 4.4.1 and 4.4.2)
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type destination-unreachable -j ACCEPT
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type packet-too-big -j ACCEPT
|
||||||
|
# codes 0 and 1
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type time-exceeded -j ACCEPT
|
||||||
|
# codes 0-2
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type parameter-problem -j ACCEPT
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type echo-request -j ACCEPT
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type echo-reply -j ACCEPT
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type router-solicitation -m hl --hl-eq 255 -j ACCEPT
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type router-advertisement -m hl --hl-eq 255 -j ACCEPT
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type neighbor-solicitation -m hl --hl-eq 255 -j ACCEPT
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type neighbor-advertisement -m hl --hl-eq 255 -j ACCEPT
|
||||||
|
# IND solicitation
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type 141 -m hl --hl-eq 255 -j ACCEPT
|
||||||
|
# IND advertisement
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type 142 -m hl --hl-eq 255 -j ACCEPT
|
||||||
|
# MLD query
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type 130 -s fe80::/10 -j ACCEPT
|
||||||
|
# MLD report
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type 131 -s fe80::/10 -j ACCEPT
|
||||||
|
# MLD done
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type 132 -s fe80::/10 -j ACCEPT
|
||||||
|
# MLD report v2
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type 143 -s fe80::/10 -j ACCEPT
|
||||||
|
# SEND certificate path solicitation
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type 148 -m hl --hl-eq 255 -j ACCEPT
|
||||||
|
# SEND certificate path advertisement
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type 149 -m hl --hl-eq 255 -j ACCEPT
|
||||||
|
# MR advertisement
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type 151 -s fe80::/10 -m hl --hl-eq 1 -j ACCEPT
|
||||||
|
# MR solicitation
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type 152 -s fe80::/10 -m hl --hl-eq 1 -j ACCEPT
|
||||||
|
# MR termination
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type 153 -s fe80::/10 -m hl --hl-eq 1 -j ACCEPT
|
||||||
|
|
||||||
|
# ok icmp codes for OUTPUT (rfc4890, 4.4.1 and 4.4.2)
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type destination-unreachable -j ACCEPT
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type packet-too-big -j ACCEPT
|
||||||
|
# codes 0 and 1
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type time-exceeded -j ACCEPT
|
||||||
|
# codes 0-2
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type parameter-problem -j ACCEPT
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type echo-request -j ACCEPT
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type echo-reply -j ACCEPT
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type router-solicitation -m hl --hl-eq 255 -j ACCEPT
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type neighbor-advertisement -m hl --hl-eq 255 -j ACCEPT
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type neighbor-solicitation -m hl --hl-eq 255 -j ACCEPT
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type router-advertisement -m hl --hl-eq 255 -j ACCEPT
|
||||||
|
# IND solicitation
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type 141 -m hl --hl-eq 255 -j ACCEPT
|
||||||
|
# IND advertisement
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type 142 -m hl --hl-eq 255 -j ACCEPT
|
||||||
|
# MLD query
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type 130 -s fe80::/10 -j ACCEPT
|
||||||
|
# MLD report
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type 131 -s fe80::/10 -j ACCEPT
|
||||||
|
# MLD done
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type 132 -s fe80::/10 -j ACCEPT
|
||||||
|
# MLD report v2
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type 143 -s fe80::/10 -j ACCEPT
|
||||||
|
# SEND certificate path solicitation
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type 148 -m hl --hl-eq 255 -j ACCEPT
|
||||||
|
# SEND certificate path advertisement
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type 149 -m hl --hl-eq 255 -j ACCEPT
|
||||||
|
# MR advertisement
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type 151 -s fe80::/10 -m hl --hl-eq 1 -j ACCEPT
|
||||||
|
# MR solicitation
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type 152 -s fe80::/10 -m hl --hl-eq 1 -j ACCEPT
|
||||||
|
# MR termination
|
||||||
|
-A ufw6-before-output -p icmpv6 --icmpv6-type 153 -s fe80::/10 -m hl --hl-eq 1 -j ACCEPT
|
||||||
|
|
||||||
|
# ok icmp codes for FORWARD (rfc4890, 4.3.1)
|
||||||
|
-A ufw6-before-forward -p icmpv6 --icmpv6-type destination-unreachable -j ACCEPT
|
||||||
|
-A ufw6-before-forward -p icmpv6 --icmpv6-type packet-too-big -j ACCEPT
|
||||||
|
# codes 0 and 1
|
||||||
|
-A ufw6-before-forward -p icmpv6 --icmpv6-type time-exceeded -j ACCEPT
|
||||||
|
# codes 0-2
|
||||||
|
-A ufw6-before-forward -p icmpv6 --icmpv6-type parameter-problem -j ACCEPT
|
||||||
|
-A ufw6-before-forward -p icmpv6 --icmpv6-type echo-request -j ACCEPT
|
||||||
|
-A ufw6-before-forward -p icmpv6 --icmpv6-type echo-reply -j ACCEPT
|
||||||
|
# ok icmp codes for FORWARD (rfc4890, 4.3.2)
|
||||||
|
# Home Agent Address Discovery Reques
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type 144 -j ACCEPT
|
||||||
|
# Home Agent Address Discovery Reply
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type 145 -j ACCEPT
|
||||||
|
# Mobile Prefix Solicitation
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type 146 -j ACCEPT
|
||||||
|
# Mobile Prefix Advertisement
|
||||||
|
-A ufw6-before-input -p icmpv6 --icmpv6-type 147 -j ACCEPT
|
||||||
|
|
||||||
|
# allow dhcp client to work
|
||||||
|
-A ufw6-before-input -p udp -s fe80::/10 --sport 547 -d fe80::/10 --dport 546 -j ACCEPT
|
||||||
|
|
||||||
|
# allow MULTICAST mDNS for service discovery
|
||||||
|
-A ufw6-before-input -p udp -d ff02::fb --dport 5353 -j ACCEPT
|
||||||
|
|
||||||
|
# allow MULTICAST UPnP for service discovery
|
||||||
|
-A ufw6-before-input -p udp -d ff02::f --dport 1900 -j ACCEPT
|
||||||
|
|
||||||
|
# don't delete the 'COMMIT' line or these rules won't be processed
|
||||||
|
COMMIT
|
||||||
57
.linux_items/archlive/airootfs/etc/ufw/sysctl.conf
Normal file
57
.linux_items/archlive/airootfs/etc/ufw/sysctl.conf
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
#
|
||||||
|
# Configuration file for setting network variables. Please note these settings
|
||||||
|
# override /etc/sysctl.conf. If you prefer to use /etc/sysctl.conf, please
|
||||||
|
# adjust IPT_SYSCTL in /etc/default/ufw.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Uncomment this to allow this host to route packets between interfaces
|
||||||
|
#net/ipv4/ip_forward=1
|
||||||
|
#net/ipv6/conf/default/forwarding=1
|
||||||
|
#net/ipv6/conf/all/forwarding=1
|
||||||
|
|
||||||
|
# Turn on Source Address Verification in all interfaces to prevent some
|
||||||
|
# spoofing attacks
|
||||||
|
net/ipv4/conf/default/rp_filter=1
|
||||||
|
net/ipv4/conf/all/rp_filter=1
|
||||||
|
|
||||||
|
# Do not accept IP source route packets (we are not a router)
|
||||||
|
net/ipv4/conf/default/accept_source_route=0
|
||||||
|
net/ipv4/conf/all/accept_source_route=0
|
||||||
|
net/ipv6/conf/default/accept_source_route=0
|
||||||
|
net/ipv6/conf/all/accept_source_route=0
|
||||||
|
|
||||||
|
# Disable ICMP redirects. ICMP redirects are rarely used but can be used in
|
||||||
|
# MITM (man-in-the-middle) attacks. Disabling ICMP may disrupt legitimate
|
||||||
|
# traffic to those sites.
|
||||||
|
net/ipv4/conf/default/accept_redirects=0
|
||||||
|
net/ipv4/conf/all/accept_redirects=0
|
||||||
|
net/ipv6/conf/default/accept_redirects=0
|
||||||
|
net/ipv6/conf/all/accept_redirects=0
|
||||||
|
|
||||||
|
# Ignore bogus ICMP errors
|
||||||
|
net/ipv4/icmp_echo_ignore_broadcasts=1
|
||||||
|
net/ipv4/icmp_ignore_bogus_error_responses=1
|
||||||
|
net/ipv4/icmp_echo_ignore_all=0
|
||||||
|
|
||||||
|
# Don't log Martian Packets (impossible packets)
|
||||||
|
net/ipv4/conf/default/log_martians=0
|
||||||
|
net/ipv4/conf/all/log_martians=0
|
||||||
|
|
||||||
|
# Change to '1' to enable TCP/IP SYN cookies This disables TCP Window Scaling
|
||||||
|
# (http://lkml.org/lkml/2008/2/5/167)
|
||||||
|
net/ipv4/tcp_syncookies=0
|
||||||
|
|
||||||
|
#net/ipv4/tcp_fin_timeout=30
|
||||||
|
#net/ipv4/tcp_keepalive_intvl=1800
|
||||||
|
|
||||||
|
# normally allowing tcp_sack is ok, but if going through OpenBSD 3.8 RELEASE or
|
||||||
|
# earlier pf firewall, should set this to 0
|
||||||
|
net/ipv4/tcp_sack=1
|
||||||
|
|
||||||
|
# Uncomment this to turn off ipv6 autoconfiguration
|
||||||
|
#net/ipv6/conf/default/autoconf=0
|
||||||
|
#net/ipv6/conf/all/autoconf=0
|
||||||
|
|
||||||
|
# Uncomment this to enable ipv6 privacy addressing
|
||||||
|
#net/ipv6/conf/default/use_tempaddr=2
|
||||||
|
#net/ipv6/conf/all/use_tempaddr=2
|
||||||
|
|
@ -21,9 +21,6 @@
|
||||||
-A ufw-user-input -p tcp --dport 22 -j ACCEPT
|
-A ufw-user-input -p tcp --dport 22 -j ACCEPT
|
||||||
-A ufw-user-input -p udp --dport 22 -j ACCEPT
|
-A ufw-user-input -p udp --dport 22 -j ACCEPT
|
||||||
|
|
||||||
### tuple ### allow tcp 5900 0.0.0.0/0 any 0.0.0.0/0 VNC - in
|
|
||||||
-A ufw-user-input -p tcp --dport 5900 -j ACCEPT -m comment --comment 'dapp_VNC'
|
|
||||||
|
|
||||||
### END RULES ###
|
### END RULES ###
|
||||||
|
|
||||||
### LOGGING ###
|
### LOGGING ###
|
||||||
|
|
@ -21,9 +21,6 @@
|
||||||
-A ufw6-user-input -p tcp --dport 22 -j ACCEPT
|
-A ufw6-user-input -p tcp --dport 22 -j ACCEPT
|
||||||
-A ufw6-user-input -p udp --dport 22 -j ACCEPT
|
-A ufw6-user-input -p udp --dport 22 -j ACCEPT
|
||||||
|
|
||||||
### tuple ### allow tcp 5900 ::/0 any ::/0 VNC - in
|
|
||||||
-A ufw6-user-input -p tcp --dport 5900 -j ACCEPT -m comment --comment 'dapp_VNC'
|
|
||||||
|
|
||||||
### END RULES ###
|
### END RULES ###
|
||||||
|
|
||||||
### LOGGING ###
|
### LOGGING ###
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
[xfce4-session]
|
||||||
|
SaveSession=None
|
||||||
|
|
||||||
34
.linux_items/archlive/airootfs/root/.automated_script.sh
Normal file
34
.linux_items/archlive/airootfs/root/.automated_script.sh
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
script_cmdline ()
|
||||||
|
{
|
||||||
|
local param
|
||||||
|
for param in $(< /proc/cmdline); do
|
||||||
|
case "${param}" in
|
||||||
|
script=*) echo "${param#*=}" ; return 0 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
automated_script ()
|
||||||
|
{
|
||||||
|
local script rt
|
||||||
|
script="$(script_cmdline)"
|
||||||
|
if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then
|
||||||
|
if [[ "${script}" =~ ^http:// || "${script}" =~ ^ftp:// ]]; then
|
||||||
|
wget "${script}" --retry-connrefused -q -O /tmp/startup_script >/dev/null
|
||||||
|
rt=$?
|
||||||
|
else
|
||||||
|
cp "${script}" /tmp/startup_script
|
||||||
|
rt=$?
|
||||||
|
fi
|
||||||
|
if [[ ${rt} -eq 0 ]]; then
|
||||||
|
chmod +x /tmp/startup_script
|
||||||
|
/tmp/startup_script
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ $(tty) == "/dev/tty1" ]]; then
|
||||||
|
automated_script
|
||||||
|
fi
|
||||||
1
.linux_items/archlive/airootfs/root/.zlogin
Normal file
1
.linux_items/archlive/airootfs/root/.zlogin
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
~/.automated_script.sh
|
||||||
72
.linux_items/archlive/airootfs/root/customize_airootfs.sh
Normal file
72
.linux_items/archlive/airootfs/root/customize_airootfs.sh
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
# Set hostname
|
||||||
|
echo "[customize_airootfs] INFO: Set hostname"
|
||||||
|
echo "wk-arch" > /etc/hostname
|
||||||
|
echo "127.0.1.1 wk-arch.localdomain wk-arch" >> /etc/hosts
|
||||||
|
|
||||||
|
# Set locale
|
||||||
|
echo "[customize_airootfs] INFO: Set locale"
|
||||||
|
sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen
|
||||||
|
locale-gen
|
||||||
|
|
||||||
|
# Time Settings
|
||||||
|
echo "[customize_airootfs] INFO: Set time"
|
||||||
|
ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
|
||||||
|
sed -i 's/#FallbackNTP/NTP/' /etc/systemd/timesyncd.conf
|
||||||
|
#timedatectl set-ntp true
|
||||||
|
|
||||||
|
# root user settings
|
||||||
|
echo "[customize_airootfs] INFO: Setup root user"
|
||||||
|
usermod -s /usr/bin/zsh root
|
||||||
|
cp -aT /etc/skel/ /root/
|
||||||
|
rm /root/.ssh/id*
|
||||||
|
rm /root/.zlogin
|
||||||
|
chmod 700 /root
|
||||||
|
echo "root:Abracadabra" | chpasswd
|
||||||
|
|
||||||
|
# wktech user settings
|
||||||
|
echo "[customize_airootfs] INFO: Setup wktech user"
|
||||||
|
groupadd -r autologin
|
||||||
|
useradd -m -s /bin/zsh -G autologin,power,storage,wheel -U wktech
|
||||||
|
echo "wktech:Abracadabra" | chpasswd
|
||||||
|
|
||||||
|
# Enable sudo for %wheel
|
||||||
|
echo "[customize_airootfs] INFO: Enable sudo"
|
||||||
|
echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
echo "[customize_airootfs] INFO: Misc Settings"
|
||||||
|
#sed -i -r 's/extensions.autoDisableScopes", [0-9]+/extensions.autoDisableScopes", 0/' /usr/lib/firefox/browser/defaults/preferences/vendor.js
|
||||||
|
mkdir /media
|
||||||
|
|
||||||
|
# Set mirrorlist
|
||||||
|
echo "[customize_airootfs] INFO: Setup pacman mirrorlist"
|
||||||
|
# Ranked on 2017-10-19
|
||||||
|
echo 'Server = http://mirrors.cat.pdx.edu/archlinux/$repo/os/$arch' > /etc/pacman.d/mirrorlist
|
||||||
|
echo 'Server = http://mirrors.advancedhosters.com/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
||||||
|
echo 'Server = http://archlinux.surlyjake.com/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
||||||
|
echo 'Server = http://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
||||||
|
echo 'Server = https://archlinux.surlyjake.com/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
||||||
|
echo 'Server = http://ca.us.mirror.archlinux-br.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
||||||
|
echo 'Server = https://arlm.tyzoid.com/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
||||||
|
echo 'Server = http://mirror.rackspace.com/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
||||||
|
echo 'Server = http://il.us.mirror.archlinux-br.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
# journald settings (from archiso)
|
||||||
|
echo "[customize_airootfs] INFO: Setup journald"
|
||||||
|
sed -i 's/#\(Storage=\)auto/\1volatile/' /etc/systemd/journald.conf
|
||||||
|
|
||||||
|
# logind settings (from archiso)
|
||||||
|
echo "[customize_airootfs] INFO: Setup logind"
|
||||||
|
sed -i 's/#\(HandleSuspendKey=\)suspend/\1ignore/' /etc/systemd/logind.conf
|
||||||
|
sed -i 's/#\(HandleHibernateKey=\)hibernate/\1ignore/' /etc/systemd/logind.conf
|
||||||
|
sed -i 's/#\(HandleLidSwitch=\)suspend/\1ignore/' /etc/systemd/logind.conf
|
||||||
|
|
||||||
|
echo "[customize_airootfs] INFO: Setup systemd"
|
||||||
|
#systemctl enable pacman-init.service choose-mirror.service
|
||||||
|
#systemctl set-default graphical.target
|
||||||
|
|
||||||
|
echo "[customize_airootfs] INFO: Completed."
|
||||||
3
.linux_items/archlive/airootfs/root/install.txt
Normal file
3
.linux_items/archlive/airootfs/root/install.txt
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
View this installation guide online at
|
||||||
|
https://wiki.archlinux.org/index.php/Installation_Guide
|
||||||
|
|
||||||
6
scripts/apple-fans → .linux_items/archlive/airootfs/usr/local/bin/apple_fans
Executable file → Normal file
6
scripts/apple-fans → .linux_items/archlive/airootfs/usr/local/bin/apple_fans
Executable file → Normal file
|
|
@ -1,13 +1,13 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
## WizardKit: Apple fan speed tool
|
## HW diagnostics - Prime95
|
||||||
|
|
||||||
SMCPATH="/sys/devices/platform/applesmc.768"
|
SMCPATH="/sys/devices/platform/applesmc.768"
|
||||||
SET_MAX="True"
|
SET_MAX="True"
|
||||||
|
|
||||||
function usage {
|
function usage {
|
||||||
echo "Usage: $(basename "$0") auto|max"
|
echo "Usage: $0 auto|max"
|
||||||
echo " e.g. $(basename "$0") max"
|
echo " e.g. $0 max"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Set mode
|
# Set mode
|
||||||
44
.linux_items/archlive/airootfs/usr/local/bin/arch.conf
Normal file
44
.linux_items/archlive/airootfs/usr/local/bin/arch.conf
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
## WK-Arch Settings ##
|
||||||
|
|
||||||
|
# Backup options
|
||||||
|
declare -a BACKUP_1=(
|
||||||
|
"ServerOne" # Server name
|
||||||
|
"10.0.0.10" # IP
|
||||||
|
"Backups" # Share name
|
||||||
|
"backup" # User name
|
||||||
|
"Abracadabra" # Password
|
||||||
|
)
|
||||||
|
declare -a BACKUP_2=(
|
||||||
|
"ServerTwo" # Server name
|
||||||
|
"10.0.0.11" # IP
|
||||||
|
"Backups" # Share name
|
||||||
|
"backup" # User name
|
||||||
|
"Abracadabra" # Password
|
||||||
|
)
|
||||||
|
declare -a BACKUP_3=(
|
||||||
|
"" # Server name
|
||||||
|
"" # IP
|
||||||
|
"" # Share name
|
||||||
|
"" # User name
|
||||||
|
"" # Password
|
||||||
|
)
|
||||||
|
declare -a BACKUP_4=(
|
||||||
|
"" # Server name
|
||||||
|
"" # IP
|
||||||
|
"" # Share name
|
||||||
|
"" # User name
|
||||||
|
"" # Password
|
||||||
|
)
|
||||||
|
|
||||||
|
# Hardware testing options
|
||||||
|
TEST_CPU_LENGTH="7" # Time in minutes to run Prime95
|
||||||
|
|
||||||
|
# Network options
|
||||||
|
WIFI_SSID="SomeWiFi" # Use the 2.4Ghz network for better compatability
|
||||||
|
WIFI_PASS="Abracadabra"
|
||||||
|
|
||||||
|
# Results upload options
|
||||||
|
SKIP_UPLOAD="False" # Set to "True" to disable all uploads
|
||||||
|
DIAG_SERVER="10.0.0.10" # Use the IP and not the server name
|
||||||
|
DIAG_SHARE="/srv/ClientInfo" # Full path to shared folder (relative to the server's root)
|
||||||
|
DIAG_USER="wkdiag" # User used to connect to the server via SSH
|
||||||
|
|
@ -0,0 +1,64 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
## Get connected to a network
|
||||||
|
|
||||||
|
# 1. Checks if already online; skips if so
|
||||||
|
# 2. If no wired devices are present then reload kernel modules
|
||||||
|
# 3. If wireless devices are present, and we're still offline, then connect to WiFi
|
||||||
|
|
||||||
|
die () {
|
||||||
|
echo "$0:" "$@" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
function test_connection() {
|
||||||
|
if ip a | grep -Eq '(10.[0-9]+|172.(1[6-9]|2[0-9]|3[0-1]).[0-9]+|192.168).[0-9]+.[0-9]+'; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Load settings
|
||||||
|
if [[ -f "/run/archiso/bootmnt/arch/arch.conf" ]]; then
|
||||||
|
source "/run/archiso/bootmnt/arch/arch.conf" || \
|
||||||
|
die "ERROR: failed to load arch.conf (from /run/archiso/bootmnt/arch/)"
|
||||||
|
else
|
||||||
|
source "/usr/local/bin/arch.conf" || \
|
||||||
|
die "ERROR: failed to load arch.conf (from /usr/local/bin/)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Init
|
||||||
|
WIFI_SSID="${WIFI_SSID}"
|
||||||
|
WIFI_PASS="${WIFI_PASS}"
|
||||||
|
|
||||||
|
# Connect to network
|
||||||
|
if ! test_connection; then
|
||||||
|
# LAN
|
||||||
|
if ! ip l | grep -Eq '[0-9]+: +en'; then
|
||||||
|
## Reload the tg3/broadcom driver (known fix for some Dell systems)
|
||||||
|
echo "No wired network adapters found; reloading drivers..."
|
||||||
|
sudo modprobe -r tg3
|
||||||
|
sudo modprobe broadcom
|
||||||
|
sudo modprobe tg3
|
||||||
|
sleep 5s
|
||||||
|
fi
|
||||||
|
|
||||||
|
# WiFi
|
||||||
|
if ip l | grep -Eq '[0-9]+: +wl'; then
|
||||||
|
## Skip if we're already connected (i.e. the code above worked)
|
||||||
|
if ! test_connection; then
|
||||||
|
echo "Attempting to connect to ${WIFI_SSID}..."
|
||||||
|
nmcli dev wifi connect "${WIFI_SSID}" password "${WIFI_PASS}"
|
||||||
|
sleep 5s
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Done
|
||||||
|
if test_connection; then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
135
.linux_items/archlive/airootfs/usr/local/bin/hw-diags
Normal file
135
.linux_items/archlive/airootfs/usr/local/bin/hw-diags
Normal file
|
|
@ -0,0 +1,135 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
## WK HW diagnostics - Launcher
|
||||||
|
|
||||||
|
MODE="$1"
|
||||||
|
SHOW_MENU="True"
|
||||||
|
if [[ "$MODE" =~ ^(all|cpu|drives|foh|smart|badblocks)$ ]]; then
|
||||||
|
SHOW_MENU="False"
|
||||||
|
fi
|
||||||
|
|
||||||
|
SHOW_POWEROPTIONS="False"
|
||||||
|
if [[ "$MODE" =~ ^cli$ ]]; then
|
||||||
|
SHOW_POWEROPTIONS="True"
|
||||||
|
fi
|
||||||
|
|
||||||
|
function pause() {
|
||||||
|
# Pause to review output
|
||||||
|
echo ""
|
||||||
|
echo "$1"
|
||||||
|
read
|
||||||
|
}
|
||||||
|
|
||||||
|
function menu() {
|
||||||
|
while :; do
|
||||||
|
if [[ "$SHOW_MENU" == "False" ]]; then
|
||||||
|
break
|
||||||
|
else
|
||||||
|
clear
|
||||||
|
echo "Hardware Diagnostics"
|
||||||
|
echo "────────────────────"
|
||||||
|
echo "0: Quick drive test"
|
||||||
|
echo "1: All tests"
|
||||||
|
echo "2: Prime95"
|
||||||
|
echo "3: SMART & badblocks"
|
||||||
|
echo "4: SMART"
|
||||||
|
echo "5: badblocks"
|
||||||
|
echo "────────────────────"
|
||||||
|
#if [[ -n $DISPLAY ]] && [[ $(getconf LONG_BIT) -eq "64" ]]; then
|
||||||
|
# echo "6: Graphics Test - FurMark"
|
||||||
|
# echo "7: Graphics Test - Piano"
|
||||||
|
# echo "8: Graphics Test - Volplosion"
|
||||||
|
#fi
|
||||||
|
echo "A: Speaker Test"
|
||||||
|
if [[ -n $DISPLAY ]]; then
|
||||||
|
echo "K: Keyboard Test"
|
||||||
|
fi
|
||||||
|
echo "N: Network Test"
|
||||||
|
echo "────────────────────"
|
||||||
|
echo "M: Screen Saver - Matrix"
|
||||||
|
echo "P: Screen Saver - Pipes"
|
||||||
|
echo "────────────────────"
|
||||||
|
echo "Q: Quit"
|
||||||
|
if [[ "$SHOW_POWEROPTIONS" =~ ^True$ ]]; then
|
||||||
|
echo "R: Reboot"
|
||||||
|
echo "S: Shutdown"
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
read -r -p "Please make a selection: " MODE
|
||||||
|
|
||||||
|
# Check input
|
||||||
|
case $MODE in
|
||||||
|
0)
|
||||||
|
MODE=foh
|
||||||
|
break;;
|
||||||
|
1)
|
||||||
|
MODE=all
|
||||||
|
break;;
|
||||||
|
2)
|
||||||
|
MODE=cpu
|
||||||
|
break;;
|
||||||
|
3)
|
||||||
|
MODE=drives
|
||||||
|
break;;
|
||||||
|
4)
|
||||||
|
MODE=smart
|
||||||
|
break;;
|
||||||
|
5)
|
||||||
|
MODE=badblocks
|
||||||
|
break;;
|
||||||
|
#6)
|
||||||
|
# if [[ -n $DISPLAY ]] && [[ $(getconf LONG_BIT) -eq "64" ]]; then
|
||||||
|
# gputest /fullscreen /test=fur
|
||||||
|
# fi
|
||||||
|
# ;;
|
||||||
|
#7)
|
||||||
|
# if [[ -n $DISPLAY ]] && [[ $(getconf LONG_BIT) -eq "64" ]]; then
|
||||||
|
# gputest /fullscreen /test=pixmark_piano
|
||||||
|
# fi
|
||||||
|
# ;;
|
||||||
|
#8)
|
||||||
|
# if [[ -n $DISPLAY ]] && [[ $(getconf LONG_BIT) -eq "64" ]]; then
|
||||||
|
# gputest /fullscreen /test=pixmark_volplosion
|
||||||
|
# fi
|
||||||
|
# ;;
|
||||||
|
a|A|audio|Audio)
|
||||||
|
clear
|
||||||
|
hw-diags-audio
|
||||||
|
pause "Press Enter to return to menu...";;
|
||||||
|
k|K|keyboard|Keyboard)
|
||||||
|
if [[ -n $DISPLAY ]]; then
|
||||||
|
xev
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
m|M)
|
||||||
|
cmatrix -abs
|
||||||
|
reset
|
||||||
|
clear;;
|
||||||
|
n|N)
|
||||||
|
clear
|
||||||
|
hw-diags-network
|
||||||
|
pause "Press Enter to return to menu...";;
|
||||||
|
p|P)
|
||||||
|
pipes -t 0 -t 1 -t 2 -t 3 -p 5 -R -r 4000
|
||||||
|
reset
|
||||||
|
clear;;
|
||||||
|
q|Q|quit|Quit)
|
||||||
|
exit 0;;
|
||||||
|
r|R)
|
||||||
|
sudo reboot;;
|
||||||
|
s|S)
|
||||||
|
sudo poweroff;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Main Loop
|
||||||
|
while :; do
|
||||||
|
menu
|
||||||
|
tmux new-session -s 'hw-session' -n 'hw-window' "hw-diags-inner $MODE"
|
||||||
|
if [[ "$SHOW_MENU" == "False" ]]; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
12
.linux_items/archlive/airootfs/usr/local/bin/hw-diags-audio
Normal file
12
.linux_items/archlive/airootfs/usr/local/bin/hw-diags-audio
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
## WK HW diagnostics - Audio (Stereo)
|
||||||
|
|
||||||
|
# Unmute and set volume
|
||||||
|
amixer -q set "Master" 80% unmute
|
||||||
|
amixer -q set "PCM" 90% unmute
|
||||||
|
|
||||||
|
speaker-test -c 2 -l 1 -t pink
|
||||||
|
# speaker-test -c 2 -l 1 -t sine
|
||||||
|
speaker-test -c 2 -l 1 -t wav
|
||||||
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
## WK HW diagnostics - badblocks
|
||||||
|
|
||||||
|
function usage {
|
||||||
|
echo "Usage: $0 log-dir device"
|
||||||
|
echo " e.g. $0 /tmp/tmp.7Mh5f1RhSL9001 /dev/sda"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Bail early
|
||||||
|
if [ ! -d "$1" ]; then
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ ! -b "$2" ]; then
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run Badblocks
|
||||||
|
sudo badblocks -sv -e 1 "$2"
|
||||||
|
tmux capture-pane
|
||||||
|
tmux save-buffer "$1/bb_tmp.out"
|
||||||
|
grep -Ev '^$' "$1/bb_tmp.out" > "$1/${2##*/}_badblocks.log"
|
||||||
|
rm "$1/bb_tmp.out"
|
||||||
518
.linux_items/archlive/airootfs/usr/local/bin/hw-diags-inner
Normal file
518
.linux_items/archlive/airootfs/usr/local/bin/hw-diags-inner
Normal file
|
|
@ -0,0 +1,518 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
## WK HW Diagnostics - Main script
|
||||||
|
|
||||||
|
die () {
|
||||||
|
echo "$0:" "$@" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Load settings
|
||||||
|
if [[ -f "/run/archiso/bootmnt/arch/arch.conf" ]]; then
|
||||||
|
source "/run/archiso/bootmnt/arch/arch.conf" || \
|
||||||
|
die "ERROR: failed to load arch.conf (from /run/archiso/bootmnt/arch/)"
|
||||||
|
else
|
||||||
|
source "/usr/local/bin/arch.conf" || \
|
||||||
|
die "ERROR: failed to load arch.conf (from /usr/local/bin/)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get TICKET
|
||||||
|
## Inital SKIP_UPLOAD value loaded from arch.conf
|
||||||
|
SKIP_UPLOAD="${SKIP_UPLOAD}"
|
||||||
|
TICKET=""
|
||||||
|
while [[ "$TICKET" == "" ]]; do
|
||||||
|
if [[ "$1" == "foh" ]]; then
|
||||||
|
TICKET="foh-consult"
|
||||||
|
SKIP_UPLOAD="True"
|
||||||
|
else
|
||||||
|
echo -n "Please enter the Service Order #: "
|
||||||
|
read -r _ticket
|
||||||
|
if echo "$_ticket" | grep -Eq '^[1-9]+\S*$'; then
|
||||||
|
TICKET="$_ticket"
|
||||||
|
elif echo "$_ticket" | grep -Eq '^0'; then
|
||||||
|
SKIP_UPLOAD="True"
|
||||||
|
TICKET="$_ticket"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Init
|
||||||
|
## Tautologies left to show which settings are coming from arch.conf
|
||||||
|
DIAG_DATE="$(date "+%F_%H%M")"
|
||||||
|
DIAG_SERVER_AVAIL="False"
|
||||||
|
DIAG_SERVER="${DIAG_SERVER}"
|
||||||
|
DIAG_SHARE="${DIAG_SHARE}"
|
||||||
|
DIAG_DEST="${DIAG_SHARE}/${TICKET}"
|
||||||
|
DIAG_UPLOAD_NAME="HW-Diagnostics_${DIAG_DATE}"
|
||||||
|
DIAG_USER="${DIAG_USER}"
|
||||||
|
TMP_DIR="$(mktemp -d)"
|
||||||
|
ERRORS="False"
|
||||||
|
TEST_CPU="False"
|
||||||
|
TEST_CPU_LENGTH="${TEST_CPU_LENGTH}"
|
||||||
|
TEST_OVER="False"
|
||||||
|
TEST_SMART="False"
|
||||||
|
TEST_BADBLOCKS="False"
|
||||||
|
SKIP_SHORT_TEST="False"
|
||||||
|
LOG="$TMP_DIR/hw-diags.log"
|
||||||
|
OUT="$TMP_DIR/hw-diags.out"
|
||||||
|
|
||||||
|
# Get list of drives to test (excluding any ARCH drives)
|
||||||
|
|
||||||
|
## Some code borrowed from stackoverflow.com/a/10020397
|
||||||
|
ARCH_DRIVES=($(ls -l /dev/disk/by-label | grep -iE 'ARCH.*[hs]d[a-z]' | sed -r 's#.*/([hs]d[a-z])[0-9]+#\1#' | sort | uniq))
|
||||||
|
DRIVES=($(inxi -Dxx -c 0 | grep -E "ID-[0-9]+" | sed -r 's#.*/dev/([hsv]d[a-z]|nvme[0-9]n[0-9]).*#\1#' | sort))
|
||||||
|
for d in "${ARCH_DRIVES[@]}"; do
|
||||||
|
DRIVES=(${DRIVES[@]//*$d*})
|
||||||
|
done
|
||||||
|
|
||||||
|
# Handle testing runs
|
||||||
|
if [[ "$SKIP_UPLOAD" != "True" ]]; then
|
||||||
|
# Connect to network
|
||||||
|
connect-to-network
|
||||||
|
|
||||||
|
# Test connection to DIAG_SERVER
|
||||||
|
if ip a | grep -Eq '(10.[0-9]+|172.(1[6-9]|2[0-9]|3[0-1])|192.168).[0-9]+.[0-9]+' && \
|
||||||
|
ping -c 1 -q $DIAG_SERVER >/dev/null 2>&1; then
|
||||||
|
DIAG_SERVER_AVAIL="True"
|
||||||
|
ssh-add
|
||||||
|
ssh $DIAG_USER@$DIAG_SERVER mkdir -p "$DIAG_DEST"
|
||||||
|
ssh $DIAG_USER@$DIAG_SERVER chmod 755 "$DIAG_DEST"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Setup Env
|
||||||
|
mkdir "$TMP_DIR" -p 2>/dev/null
|
||||||
|
pushd "$TMP_DIR" >/dev/null
|
||||||
|
touch "$OUT"
|
||||||
|
rm local.txt results.txt 2>/dev/null
|
||||||
|
|
||||||
|
# Functions
|
||||||
|
CLEAR="\e[0m"
|
||||||
|
RED="\e[31m"
|
||||||
|
GREEN="\e[32m"
|
||||||
|
YELLOW="\e[33m"
|
||||||
|
BLUE="\e[34m"
|
||||||
|
function update_progress {
|
||||||
|
echo "HW Diagnostics" > "$LOG"
|
||||||
|
echo "${BLUE}HW Diagnostics${CLEAR}" > "$OUT"
|
||||||
|
echo "───────────────" >> "$LOG"
|
||||||
|
echo "───────────────" >> "$OUT"
|
||||||
|
|
||||||
|
if [[ "$TEST_CPU" == "True" ]]; then
|
||||||
|
echo "" >> "$LOG"
|
||||||
|
echo "" >> "$OUT"
|
||||||
|
if [[ "$cpu_result" == "CS" ]]; then
|
||||||
|
echo "Prime95 CS" >> "$LOG"
|
||||||
|
echo "${BLUE}Prime95${CLEAR} ${GREEN}CS${CLEAR}" >> "$OUT"
|
||||||
|
elif [[ "$cpu_result" == "Working" ]]; then
|
||||||
|
echo "Prime95 Working" >> "$LOG"
|
||||||
|
echo "${BLUE}Prime95${CLEAR} ${YELLOW}Working${CLEAR}" >> "$OUT"
|
||||||
|
elif [[ "$cpu_result" == "Unknown" ]]; then
|
||||||
|
echo "Prime95 Unknown" >> "$LOG"
|
||||||
|
echo "${BLUE}Prime95${CLEAR} ${YELLOW}Unknown${CLEAR}" >> "$OUT"
|
||||||
|
else
|
||||||
|
echo "Prime95 NS" >> "$LOG"
|
||||||
|
echo "${BLUE}Prime95${CLEAR} ${RED}NS${CLEAR}" >> "$OUT"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$TEST_SMART" == "True" ]]; then
|
||||||
|
echo "" >> "$LOG"
|
||||||
|
echo "" >> "$OUT"
|
||||||
|
if [[ "$SKIP_SHORT_TEST" == "True" ]]; then
|
||||||
|
echo "SMART (Quick)" >> "$LOG"
|
||||||
|
echo "${BLUE}SMART${CLEAR} ${YELLOW}(Quick)${CLEAR}" >> "$OUT"
|
||||||
|
else
|
||||||
|
echo "SMART" >> "$LOG"
|
||||||
|
echo "${BLUE}SMART${CLEAR}" >> "$OUT"
|
||||||
|
fi
|
||||||
|
for d in "${DRIVES[@]}"; do
|
||||||
|
d_tmp="${d##*/}_smart_result"
|
||||||
|
eval "d_tmp=\$$d_tmp"
|
||||||
|
if [[ "$d_tmp" == "CS" ]]; then
|
||||||
|
echo "${d##*/} CS" >> "$LOG"
|
||||||
|
echo "${d##*/} ${GREEN}CS${CLEAR}" >> "$OUT"
|
||||||
|
elif [[ "$d_tmp" == "Working" ]]; then
|
||||||
|
echo "${d##*/} Working" >> "$LOG"
|
||||||
|
echo "${d##*/} ${YELLOW}Working${CLEAR}" >> "$OUT"
|
||||||
|
elif [[ "$d_tmp" == "Unknown" ]]; then
|
||||||
|
echo "${d##*/} Unknown" >> "$LOG"
|
||||||
|
echo "${d##*/} ${YELLOW}Unknown${CLEAR}" >> "$OUT"
|
||||||
|
elif [[ "$d_tmp" == "NS" ]]; then
|
||||||
|
echo "${d##*/} NS" >> "$LOG"
|
||||||
|
echo "${d##*/} ${RED}NS${CLEAR}" >> "$OUT"
|
||||||
|
else
|
||||||
|
echo "${d##*/}" >> "$LOG"
|
||||||
|
echo "${d##*/}" >> "$OUT"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$TEST_BADBLOCKS" == "True" ]]; then
|
||||||
|
echo "" >> "$LOG"
|
||||||
|
echo "" >> "$OUT"
|
||||||
|
echo "Badblocks" >> "$LOG"
|
||||||
|
echo "${BLUE}Badblocks${CLEAR}" >> "$OUT"
|
||||||
|
for d in "${DRIVES[@]}"; do
|
||||||
|
d_tmp="${d##*/}_badblocks_result"
|
||||||
|
eval "d_tmp=\$$d_tmp"
|
||||||
|
if [[ "$d_tmp" == "CS" ]]; then
|
||||||
|
echo "${d##*/} CS" >> "$LOG"
|
||||||
|
echo "${d##*/} ${GREEN}CS${CLEAR}" >> "$OUT"
|
||||||
|
elif [[ "$d_tmp" == "Working" ]]; then
|
||||||
|
echo "${d##*/} Working" >> "$LOG"
|
||||||
|
echo "${d##*/} ${YELLOW}Working${CLEAR}" >> "$OUT"
|
||||||
|
elif [[ "$d_tmp" == "Skipped" ]]; then
|
||||||
|
echo "${d##*/} Skipped" >> "$LOG"
|
||||||
|
echo "${d##*/} ${RED}Skipped${CLEAR}" >> "$OUT"
|
||||||
|
elif [[ "$d_tmp" == "NS" ]]; then
|
||||||
|
echo "${d##*/} NS" >> "$LOG"
|
||||||
|
echo "${d##*/} ${RED}NS${CLEAR}" >> "$OUT"
|
||||||
|
else
|
||||||
|
echo "${d##*/}" >> "$LOG"
|
||||||
|
echo "${d##*/}" >> "$OUT"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$TEST_OVER" == "True" ]]; then
|
||||||
|
echo "" >> "$LOG"
|
||||||
|
echo "" >> "$OUT"
|
||||||
|
echo "───────────────" >> "$LOG"
|
||||||
|
echo "───────────────" >> "$OUT"
|
||||||
|
|
||||||
|
if [[ "$ERRORS" == "True" ]]; then
|
||||||
|
echo "HW: Error(s)" >> "$LOG"
|
||||||
|
echo "${RED}HW: Error(s)${CLEAR}" >> "$OUT"
|
||||||
|
else
|
||||||
|
echo "HW: Passed" >> "$LOG"
|
||||||
|
echo "${GREEN}HW: Passed${CLEAR}" >> "$OUT"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update Server
|
||||||
|
if [[ "$DIAG_SERVER_AVAIL" == "True" ]]; then
|
||||||
|
rsync -aqz --chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r "$TMP_DIR/" $DIAG_USER@$DIAG_SERVER:"$DIAG_DEST/${DIAG_UPLOAD_NAME}/" --exclude '*.out'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Select Tests
|
||||||
|
case "$1" in
|
||||||
|
all)
|
||||||
|
TEST_CPU="True"
|
||||||
|
TEST_SMART="True"
|
||||||
|
TEST_BADBLOCKS="True"
|
||||||
|
;;
|
||||||
|
cpu)
|
||||||
|
TEST_CPU="True"
|
||||||
|
TEST_SMART="False"
|
||||||
|
TEST_BADBLOCKS="False"
|
||||||
|
;;
|
||||||
|
drives)
|
||||||
|
TEST_CPU="False"
|
||||||
|
TEST_SMART="True"
|
||||||
|
TEST_BADBLOCKS="True"
|
||||||
|
;;
|
||||||
|
foh)
|
||||||
|
TEST_CPU="False"
|
||||||
|
TEST_SMART="True"
|
||||||
|
TEST_BADBLOCKS="False"
|
||||||
|
SKIP_SHORT_TEST="True"
|
||||||
|
;;
|
||||||
|
smart)
|
||||||
|
TEST_CPU="False"
|
||||||
|
TEST_SMART="True"
|
||||||
|
TEST_BADBLOCKS="False"
|
||||||
|
;;
|
||||||
|
badblocks)
|
||||||
|
TEST_CPU="False"
|
||||||
|
TEST_SMART="False"
|
||||||
|
TEST_BADBLOCKS="True"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ "$TEST_CPU" == "False" ]] && \
|
||||||
|
[[ "$TEST_SMART" == "False" ]] && \
|
||||||
|
[[ "$TEST_BADBLOCKS" == "False" ]]; then
|
||||||
|
echo -e "${YELLOW}Aborting HW diagnostics${CLEAR}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Configure display
|
||||||
|
tmux split-window -d -h -l 16 "hw-diags-progress $OUT"
|
||||||
|
update_progress
|
||||||
|
|
||||||
|
# CPU
|
||||||
|
if [[ "$TEST_CPU" == "True" ]]; then
|
||||||
|
clear
|
||||||
|
CPU_ERRORS="False"
|
||||||
|
cpu_result="Working"
|
||||||
|
update_progress
|
||||||
|
apple_fans max
|
||||||
|
(sleep ${TEST_CPU_LENGTH}m && killall -s INT "mprime" >>/dev/null 2>&1) &
|
||||||
|
(sleep ${TEST_CPU_LENGTH}m && killall "hw-diags-sensors" >>/dev/null 2>&1) &
|
||||||
|
(sleep ${TEST_CPU_LENGTH}m && apple_fans auto >>/dev/null 2>&1) &
|
||||||
|
tmux split-window -d -v -l 10 "hw-diags-prime95 $TMP_DIR"
|
||||||
|
hw-diags-sensors "$TMP_DIR" 2>/dev/null
|
||||||
|
sleep 1s
|
||||||
|
# tmux kill-pane -t 1
|
||||||
|
if [[ -f "results.txt" ]]; then
|
||||||
|
mv -nv results.txt "prime-results.txt"
|
||||||
|
if grep -q -iE '(error|fail)' "prime-results.txt"; then
|
||||||
|
cpu_result="NS"
|
||||||
|
CPU_ERRORS="True"
|
||||||
|
else
|
||||||
|
cpu_result="CS"
|
||||||
|
fi
|
||||||
|
elif [[ -f "prime.log" ]]; then
|
||||||
|
if grep -i 'completed' "prime.log" | grep -q -iv '0 errors, 0 warnings'; then
|
||||||
|
cpu_result="NS"
|
||||||
|
CPU_ERRORS="True"
|
||||||
|
else
|
||||||
|
cpu_result="CS"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
CPU_ERRORS="True"
|
||||||
|
cpu_result="Unknown"
|
||||||
|
fi
|
||||||
|
|
||||||
|
update_progress
|
||||||
|
|
||||||
|
if [[ "$CPU_ERRORS" == "True" ]]; then
|
||||||
|
ERRORS="True"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# SMART
|
||||||
|
if [[ "$TEST_SMART" == "True" ]]; then
|
||||||
|
clear
|
||||||
|
echo "Checking SMART status..."
|
||||||
|
for d in "${DRIVES[@]}"; do
|
||||||
|
SMART_ERRORS="False"
|
||||||
|
tmp_device="${d##*/}"
|
||||||
|
eval "${tmp_device}_smart_result=Working"
|
||||||
|
inxi -Dxx | grep "/dev/${tmp_device}" | sed -r "s#.*/dev/${tmp_device} (.*)# \1#" > "${tmp_device}_report.out"
|
||||||
|
inxi -Dxxc 0 | grep "/dev/${tmp_device}" | sed -r "s#.*/dev/${tmp_device} (.*)# \1#" > "${tmp_device}_report.log"
|
||||||
|
update_progress
|
||||||
|
|
||||||
|
# Attempt to enable SMART reporting
|
||||||
|
if sudo smartctl -s on "/dev/${tmp_device}" | grep -q 'device lacks SMART capability'; then
|
||||||
|
SMART_ERRORS="True"
|
||||||
|
eval "${tmp_device}_smart_result=Unknown"
|
||||||
|
echo " ${RED}ERROR: device lacks SMART capability${CLEAR}" >> "${tmp_device}_report.out"
|
||||||
|
echo " ERROR: device lacks SMART capability" >> "${tmp_device}_report.log"
|
||||||
|
sleep 1s
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Save current SMART values
|
||||||
|
sudo smartctl --all "/dev/${tmp_device}" >> "${tmp_device}-smart.log"
|
||||||
|
sudo smartctl -l error "/dev/${tmp_device}" >> "${tmp_device}-smart-err.log"
|
||||||
|
|
||||||
|
# Check specific SMART results
|
||||||
|
sudo smartctl -A "/dev/${tmp_device}" | grep -E '^\s*(5|9|184|197|198)\s' >> "${tmp_device}-smart-attributes.log"
|
||||||
|
|
||||||
|
# 5 - Reallocated Sectors
|
||||||
|
if grep -qE '^\s*5\s' "${tmp_device}-smart-attributes.log"; then
|
||||||
|
line="$(grep -E '^\s*5\s' "${tmp_device}-smart-attributes.log")"
|
||||||
|
value=$(echo "$line" | sed -r 's/.*\s([0-9]+).*/\1/')
|
||||||
|
echo " Reallocated Sectors: $value" >> "${tmp_device}_report.log"
|
||||||
|
if [[ "$value" -gt 0 ]]; then
|
||||||
|
SMART_ERRORS="True"
|
||||||
|
echo " ${RED}Reallocated Sectors: $value${CLEAR}" >> "${tmp_device}_report.out"
|
||||||
|
else
|
||||||
|
echo " ${GREEN}Reallocated Sectors: $value${CLEAR}" >> "${tmp_device}_report.out"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 9 - Power-on Hours (Warn, but don't prevent badblock scan)
|
||||||
|
if grep -qE '^\s*9\s' "${tmp_device}-smart-attributes.log"; then
|
||||||
|
line="$(grep -E '^\s*9\s' "${tmp_device}-smart-attributes.log")"
|
||||||
|
value=$(echo "$line" | sed -r 's/.*\s([0-9]+).*/\1/')
|
||||||
|
echo " Power-on Hours: $value" >> "${tmp_device}_report.log"
|
||||||
|
if [[ "$value" -gt 18000 ]]; then
|
||||||
|
#SMART_ERRORS="True"
|
||||||
|
echo " ${RED}Power-on Hours: $value (VERY OLD)${CLEAR}" >> "${tmp_device}_report.out"
|
||||||
|
elif [[ "$value" -gt 12000 ]]; then
|
||||||
|
echo " ${YELLOW}Power-on Hours: $value${CLEAR}" >> "${tmp_device}_report.out"
|
||||||
|
else
|
||||||
|
echo " ${GREEN}Power-on Hours: $value${CLEAR}" >> "${tmp_device}_report.out"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 184 - End-to-End Errors
|
||||||
|
if grep -qE '^\s*184\s' "${tmp_device}-smart-attributes.log"; then
|
||||||
|
line="$(grep -E '^\s*184\s' "${tmp_device}-smart-attributes.log")"
|
||||||
|
value=$(echo "$line" | sed -r 's/.*\s([0-9]+).*/\1/')
|
||||||
|
echo " End-to-End Errors: $value" >> "${tmp_device}_report.log"
|
||||||
|
if [[ "$value" -gt 0 ]]; then
|
||||||
|
SMART_ERRORS="True"
|
||||||
|
echo " ${RED}End-to-End Errors: $value${CLEAR}" >> "${tmp_device}_report.out"
|
||||||
|
else
|
||||||
|
echo " ${GREEN}End-to-End Errors: $value${CLEAR}" >> "${tmp_device}_report.out"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 197 - Current Pending Sectors
|
||||||
|
if grep -qE '^\s*197\s' "${tmp_device}-smart-attributes.log"; then
|
||||||
|
line="$(grep -E '^\s*197\s' "${tmp_device}-smart-attributes.log")"
|
||||||
|
value=$(echo "$line" | sed -r 's/.*\s([0-9]+).*/\1/')
|
||||||
|
echo " Current Pending Sectors: $value" >> "${tmp_device}_report.log"
|
||||||
|
if [[ "$value" -gt 0 ]]; then
|
||||||
|
SMART_ERRORS="True"
|
||||||
|
echo " ${RED}Current Pending Sectors: $value${CLEAR}" >> "${tmp_device}_report.out"
|
||||||
|
else
|
||||||
|
echo " ${GREEN}Current Pending Sectors: $value${CLEAR}" >> "${tmp_device}_report.out"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 198 - Offline Uncorrectable
|
||||||
|
if grep -qE '^\s*198\s' "${tmp_device}-smart-attributes.log"; then
|
||||||
|
line="$(grep -E '^\s*198\s' "${tmp_device}-smart-attributes.log")"
|
||||||
|
value=$(echo "$line" | sed -r 's/.*\s([0-9]+).*/\1/')
|
||||||
|
echo " Offline Uncorrectable: $value" >> "${tmp_device}_report.log"
|
||||||
|
if [[ "$value" -gt 0 ]]; then
|
||||||
|
SMART_ERRORS="True"
|
||||||
|
echo " ${RED}Offline Uncorrectable: $value${CLEAR}" >> "${tmp_device}_report.out"
|
||||||
|
else
|
||||||
|
echo " ${GREEN}Offline Uncorrectable: $value${CLEAR}" >> "${tmp_device}_report.out"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$SMART_ERRORS" == "False" ]] && [[ "$SKIP_SHORT_TEST" == "False" ]]; then
|
||||||
|
if sudo smartctl -c "/dev/${tmp_device}" >>/dev/null 2>&1; then
|
||||||
|
# Determine short-test polling time
|
||||||
|
wait_time=$(sudo smartctl -c "/dev/${tmp_device}" | grep -i 'polling time' | head -1 | sed -r 's/.*\( *([0-9]+)\).*/\1/')
|
||||||
|
wait_time=$(( wait_time + 5))
|
||||||
|
|
||||||
|
# Run short self-test
|
||||||
|
echo " Running SMART short self-test ($wait_time minutes)..."
|
||||||
|
sudo smartctl -t short "/dev/${tmp_device}" >/dev/null
|
||||||
|
sleep ${wait_time}m
|
||||||
|
sudo smartctl -l selftest "/dev/${tmp_device}" >> "${tmp_device}-smart-tests.log"
|
||||||
|
if grep '^#' "${tmp_device}-smart-tests.log" | head -1 | grep -iq 'completed without error'; then
|
||||||
|
echo " ${GREEN}Self-test: passed${CLEAR}" >> "${tmp_device}_report.out"
|
||||||
|
echo " Self-test: passed" >> "${tmp_device}_report.log"
|
||||||
|
else
|
||||||
|
echo " ${RED}Self-test: failed${CLEAR}" >> "${tmp_device}_report.out"
|
||||||
|
echo " Self-test: failed" >> "${tmp_device}_report.log"
|
||||||
|
SMART_ERRORS="True"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo " ${RED}ERROR: Unable to run SMART self-test.${CLEAR}" >> "${tmp_device}_report.out"
|
||||||
|
echo " ERROR: Unable to run SMART self-test." >> "${tmp_device}_report.log"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$SMART_ERRORS" == "False" ]]; then
|
||||||
|
eval "${tmp_device}_smart_result=CS"
|
||||||
|
else
|
||||||
|
ERRORS="True"
|
||||||
|
tmp_if="${tmp_device}_smart_result"
|
||||||
|
eval "tmp_if=\$$tmp_if"
|
||||||
|
if [[ "$tmp_if" != "Unknown" ]]; then
|
||||||
|
eval "${tmp_device}_smart_result=NS"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
update_progress
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Badblocks
|
||||||
|
if [[ "$TEST_BADBLOCKS" == "True" ]]; then
|
||||||
|
clear
|
||||||
|
for d in "${DRIVES[@]}"; do
|
||||||
|
# Get SMART results
|
||||||
|
tmp_device="${d##*/}"
|
||||||
|
d_smart="${tmp_device}_smart_result"
|
||||||
|
eval "d_smart=\$$d_smart"
|
||||||
|
|
||||||
|
# Check SMART results
|
||||||
|
if [[ "$d_smart" == "NS" ]]; then
|
||||||
|
echo -e "${RED}Skipping drive: $tmp_device${CLEAR}"
|
||||||
|
eval "${tmp_device}_badblocks_result=Skipped"
|
||||||
|
else
|
||||||
|
eval "${tmp_device}_badblocks_result=Working"
|
||||||
|
update_progress
|
||||||
|
echo "Testing drive: ${tmp_device}"
|
||||||
|
|
||||||
|
# Split and run
|
||||||
|
tmux split-window -v -l 7 "hw-diags-badblocks $TMP_DIR /dev/${tmp_device}"
|
||||||
|
|
||||||
|
# Wait until done
|
||||||
|
sleep 2s
|
||||||
|
while pgrep -G 0 -U 0 -f "badblocks.*${tmp_device}" >/dev/null 2>&1; do
|
||||||
|
sleep 1s;
|
||||||
|
done
|
||||||
|
sleep 2s
|
||||||
|
|
||||||
|
# Check log
|
||||||
|
if grep -Eiq 'Pass completed.*0/0/0 errors' "${tmp_device}_badblocks.log"; then
|
||||||
|
eval "${tmp_device}_badblocks_result=CS"
|
||||||
|
else
|
||||||
|
eval "${tmp_device}_badblocks_result=NS"
|
||||||
|
fi
|
||||||
|
update_progress
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Result Screen
|
||||||
|
TEST_OVER="True"
|
||||||
|
update_progress
|
||||||
|
clear
|
||||||
|
echo "─── RESULTS ───"
|
||||||
|
if [[ "$TEST_CPU" == "True" ]]; then
|
||||||
|
echo -e "${BLUE}CPU:${CLEAR}"
|
||||||
|
if [[ -f "results.txt" ]]; then
|
||||||
|
echo "results.txt"
|
||||||
|
if grep -q -iE '(error|fail)' "prime-results.txt"; then
|
||||||
|
echo -e "${RED}$(grep -q -iE '(error|fail)' "prime-results.txt" | sed -r 's/^/ /' | tail -4)${CLEAR}"
|
||||||
|
else
|
||||||
|
sed -r 's/^/ /' "prime-results.txt" 2>/dev/null | tail -4
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
if [[ -f "prime.log" ]]; then
|
||||||
|
echo "prime.log"
|
||||||
|
if grep -i 'completed' "prime.log" | grep -q -iv '0 errors, 0 warnings'; then
|
||||||
|
echo -e "${RED}$(grep -i 'completed' "prime.log" | grep -iv '0 errors, 0 warnings' | sed -r 's/^/ /' | tail -4)${CLEAR}"
|
||||||
|
else
|
||||||
|
grep -i 'completed' "prime.log" | grep -i '0 errors, 0 warnings' | sed -r 's/^.*(Worker #[0-9]+).*(Torture.*)/ \1 \2/' | tail -4
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [[ "$TEST_SMART" == "True" ]] || \
|
||||||
|
[[ "$TEST_BADBLOCKS" == "True" ]]; then
|
||||||
|
for d in "${DRIVES[@]}"; do
|
||||||
|
echo -e "${BLUE}Drive $d:${CLEAR}"
|
||||||
|
if [[ -f "${d##*/}_report.out" ]]; then
|
||||||
|
echo -e "$(cat "${d##*/}_report.out" 2>/dev/null)"
|
||||||
|
fi
|
||||||
|
if [[ -f "${d##*/}_badblocks.log" ]]; then
|
||||||
|
grep 'Pass completed, ' "${d##*/}_badblocks.log" 2>/dev/null | sed -r 's/^Pass completed, / /' 2>/dev/null
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
update_progress
|
||||||
|
|
||||||
|
# System info dump
|
||||||
|
sudo inxi -CDdGlMmNopRsc 0 | grep -Ev '(/dev/ram|No RAID devices|Display Server|multisession)' > "system_info.txt"
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
mkdir "$HOME/Tickets/$TICKET" -p 2>/dev/null
|
||||||
|
rsync -aS --chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r "$TMP_DIR/" "$HOME/Tickets/$TICKET/"
|
||||||
|
popd >/dev/null
|
||||||
|
cd "$HOME/Tickets" && tar czf "${DIAG_UPLOAD_NAME}.tgz" "$TICKET"
|
||||||
|
|
||||||
|
# Update Server
|
||||||
|
if [[ "$DIAG_SERVER_AVAIL" == "True" ]]; then
|
||||||
|
rsync -aqz --chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r "${DIAG_UPLOAD_NAME}.tgz" $DIAG_USER@$DIAG_SERVER:"$DIAG_DEST/"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# End
|
||||||
|
echo -n "Press Enter to exit..."
|
||||||
|
read -r
|
||||||
|
killall hw-diags-progress >>/dev/null 2>&1
|
||||||
|
exit 0
|
||||||
|
|
@ -0,0 +1,73 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
## WK HW diagnostics - Network
|
||||||
|
|
||||||
|
function test_connection() {
|
||||||
|
cmd="a"
|
||||||
|
if [[ -e "/sys/class/net/$1" ]]; then
|
||||||
|
cmd="a show $1"
|
||||||
|
fi
|
||||||
|
if ip $cmd | grep -Eq '(10.[0-9]+|172.(1[6-9]|2[0-9]|3[0-1]).[0-9]+|192.168).[0-9]+.[0-9]+'; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
CLEAR="\e[0m"
|
||||||
|
RED="\e[31m"
|
||||||
|
GREEN="\e[32m"
|
||||||
|
YELLOW="\e[33m"
|
||||||
|
BLUE="\e[34m"
|
||||||
|
|
||||||
|
# Header
|
||||||
|
echo "WK HW Diagnostics - Network"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Start Wifi if necessary
|
||||||
|
echo "Initializing..."
|
||||||
|
connect-to-network >/dev/null 2>&1
|
||||||
|
|
||||||
|
# Check network connection
|
||||||
|
echo -n "Network connection: "
|
||||||
|
if test_connection; then
|
||||||
|
echo -e "${GREEN}OK${CLEAR}"
|
||||||
|
else
|
||||||
|
echo -e "${RED}No access${CLEAR}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check IP addresses
|
||||||
|
for d in /sys/class/net/*; do
|
||||||
|
device="$(basename $d)"
|
||||||
|
if [ "$device" != "lo" ]; then
|
||||||
|
if test_connection $device; then
|
||||||
|
ip="$(ip a show $device | egrep 'inet [0-9]' | sed -r 's#.*inet (.*?/[0-9]+).*#\1#')"
|
||||||
|
echo "$device: $ip" | awk '{printf " %-16s %s\n", $1, $2}'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Check internet connection
|
||||||
|
echo -n "Internet connection: "
|
||||||
|
if ping -c 2 -q 8.8.8.8 >/dev/null 2>&1; then
|
||||||
|
echo -e "${GREEN}OK${CLEAR}"
|
||||||
|
else
|
||||||
|
echo -e "${RED}No access${CLEAR}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check DNS
|
||||||
|
echo -n "DNS Resolution: "
|
||||||
|
if ping -c 2 -q google.com >/dev/null 2>&1; then
|
||||||
|
echo -e "${GREEN}OK${CLEAR}"
|
||||||
|
else
|
||||||
|
echo -e "${RED}Unable to resolve google.com${CLEAR}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check speed
|
||||||
|
echo "Speedtest:"
|
||||||
|
speedtest-cli --simple | awk '{printf " %-16s %6.2f %s\n", $1, $2, $3}'
|
||||||
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
## HW diagnostics - Prime95
|
||||||
|
|
||||||
|
function usage {
|
||||||
|
echo "Usage: $0 log-dir"
|
||||||
|
echo " e.g. $0 /tmp/tmp.7Mh5f1RhSL9001"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Bail early
|
||||||
|
if [ ! -d "$1" ]; then
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run Prime95
|
||||||
|
mprime -t | grep -iv --line-buffered 'stress.txt' | tee -a "$1/prime.log"
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
## WK HW diagnostics - Progress
|
||||||
|
|
||||||
|
# Loop forever
|
||||||
|
while :; do
|
||||||
|
clear
|
||||||
|
echo -e "$(cat "$1")"
|
||||||
|
sleep 1s
|
||||||
|
done
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
## WK HW diagnostics - Sensors
|
||||||
|
|
||||||
|
LOG_DIR="$1"
|
||||||
|
|
||||||
|
function usage {
|
||||||
|
echo "Usage: $0 log-dir"
|
||||||
|
echo " e.g. $0 /tmp/tmp.7Mh5f1RhSL9001"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create directory if necessary
|
||||||
|
if [ ! -d "$LOG_DIR" ]; then
|
||||||
|
LOG_DIR="$(mktemp -d)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run Sensor loop
|
||||||
|
if sensors >/dev/null 2>&1; then
|
||||||
|
while :; do
|
||||||
|
sensors -A | grep -E -i -v '(N/A|RPM|\d+\s+V\s+|^\s*$)' > "$LOG_DIR/sensors.out" 2>/dev/null
|
||||||
|
|
||||||
|
# Colorize
|
||||||
|
# Blue: All temps (superseeded by other colors below)
|
||||||
|
sed -i -r 's#(\+[0-9]+\.[0-9].C)#\\e[34m\1\\e[0m#g' "$LOG_DIR/sensors.out" >/dev/null 2>&1
|
||||||
|
# Green >= 60* C
|
||||||
|
sed -i -r 's#(\+6[0-9]\.[0-9].C)#\\e[32m\1\\e[0m#g' "$LOG_DIR/sensors.out" >/dev/null 2>&1
|
||||||
|
# Yellow >= 70* C
|
||||||
|
sed -i -r 's#(\+7[0-9]\.[0-9].C)#\\e[33m\1\\e[0m#g' "$LOG_DIR/sensors.out" >/dev/null 2>&1
|
||||||
|
# Orange >= 80* C
|
||||||
|
sed -i -r 's#(\+(8[0-9]|9[0-4])\.[0-9].C)#\\e[31\;1m\1\\e[0m#g' "$LOG_DIR/sensors.out" >/dev/null 2>&1
|
||||||
|
# Red >= 95* C
|
||||||
|
sed -i -r 's#(\+(9[5-9]|1[0-9][0-9])\.[0-9].C)#\\e[31m\1\\e[0m#g' "$LOG_DIR/sensors.out" >/dev/null 2>&1
|
||||||
|
|
||||||
|
# Output data
|
||||||
|
clear
|
||||||
|
echo -e "$(cat "$LOG_DIR/sensors.out")"
|
||||||
|
sleep 1s
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo -e "\e[33mNo sensors found!\nPlease monitor temperatures manually\e[0m"
|
||||||
|
sleep 1h
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
## Mount all volumes read-only
|
||||||
|
|
||||||
|
# Mount all volumes
|
||||||
|
echo "Mounting all volumes"
|
||||||
|
regex="/dev/((h|s)d[a-z]|md)[0-9]+"
|
||||||
|
for volume in $(inxi -Dopxx | grep -E "$regex" | sed -r "s#.*($regex).*#\1#" | sort); do
|
||||||
|
if grep -q "$volume" /proc/mounts; then
|
||||||
|
if ! mount | grep "/run/archiso/bootmnt" | grep -q "$volume"; then
|
||||||
|
# Show what's already mounted except the WK_ARCH boot device
|
||||||
|
echo "$volume: (Already) mounted $(mount | grep "$volume" | sed -r 's/^\S+ (on.*) type .*/\1/') ($(df -h "$volume" | tail -1 | awk '{print $3, $4}' | sed -r 's/(K|M|G|T|) (.*[0-9])(K|M|G|T|)$/ \1b used, \2 \3b free/'))"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if udevil mount -o ro $volume >/dev/null 2>&1; then
|
||||||
|
echo "$volume: Mounted $(mount | grep "$volume" | sed -r 's/^\S+ (on.*) type .*/\1/') ($(df -h "$volume" | tail -1 | awk '{print $3, $4}' | sed -r 's/(K|M|G|T|) (.*[0-9])(K|M|G|T|)$/ \1b used, \2 \3b free/'))"
|
||||||
|
else
|
||||||
|
echo "$volume: Failed to mount"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Open folder?
|
||||||
|
if echo "$0" | grep -iq foh; then
|
||||||
|
thunar /media
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Done."
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
mount-all-volumes
|
||||||
|
|
@ -0,0 +1,67 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
## Mount NAS backup shares
|
||||||
|
|
||||||
|
die () {
|
||||||
|
echo "$0:" "$@" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Load settings
|
||||||
|
if [[ -f "/run/archiso/bootmnt/arch/arch.conf" ]]; then
|
||||||
|
source "/run/archiso/bootmnt/arch/arch.conf" || \
|
||||||
|
die "ERROR: failed to load arch.conf (from /run/archiso/bootmnt/arch/)"
|
||||||
|
else
|
||||||
|
source "/usr/local/bin/arch.conf" || \
|
||||||
|
die "ERROR: failed to load arch.conf (from /usr/local/bin/)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Connect to a network
|
||||||
|
connect-to-network
|
||||||
|
|
||||||
|
# Mount loop
|
||||||
|
echo "Mounting NAS backup shares"
|
||||||
|
for x in {1..4}; do
|
||||||
|
_skip="False"
|
||||||
|
|
||||||
|
# Load Backup share info
|
||||||
|
eval "declare -a _backup=(\${BACKUP_$x[@]})"
|
||||||
|
_name="${_backup[0]}"
|
||||||
|
_ip="${_backup[1]}"
|
||||||
|
_share="${_backup[2]}"
|
||||||
|
_user="${_backup[3]}"
|
||||||
|
_pass="${_backup[4]}"
|
||||||
|
|
||||||
|
# Check backup share info
|
||||||
|
if echo "$_name" | grep -Eq '^\s*$'; then
|
||||||
|
_skip="True";
|
||||||
|
fi
|
||||||
|
if echo "$_ip" | grep -Eq '^\s*$'; then
|
||||||
|
_skip="True";
|
||||||
|
fi
|
||||||
|
if echo "$_share" | grep -Eq '^\s*$'; then
|
||||||
|
_skip="True";
|
||||||
|
fi
|
||||||
|
if echo "$_user" | grep -Eq '^\s*$'; then
|
||||||
|
_skip="True";
|
||||||
|
fi
|
||||||
|
if echo "$_pass" | grep -Eq '^\s*$'; then
|
||||||
|
_skip="True";
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Mount
|
||||||
|
if [[ "$_skip" == "False" ]]; then
|
||||||
|
sudo mkdir "/Backups/$_name" -p
|
||||||
|
if mountpoint -q "/Backups/$_name"; then
|
||||||
|
echo "$_name: (Already) mounted at /Backups/$_name ($(df -h "/Backups/$_name" | tail -1 | awk '{print $4}' | sed -r 's/([KMGT])/ \1b/') free)"
|
||||||
|
else
|
||||||
|
if sudo mount "//$_ip/$_share" "/Backups/$_name" -o username=$_user,password=$_pass 2>/dev/null; then
|
||||||
|
echo "$_name: Mounted at /Backups/$_name ($(df -h "/Backups/$_name" | tail -1 | awk '{print $4}' | sed -r 's/([KMGT])/ \1b/') free)"
|
||||||
|
else
|
||||||
|
rmdir "/Backups/$_name" -p 2>/dev/null
|
||||||
|
echo "$_name: Failed to mount"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
38
.linux_items/archlive/airootfs/usr/local/bin/msword-search
Normal file
38
.linux_items/archlive/airootfs/usr/local/bin/msword-search
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
TMP_FILE="$(mktemp)"
|
||||||
|
|
||||||
|
IFS=$'\n'
|
||||||
|
for s in $*; do
|
||||||
|
REGEX="$s"
|
||||||
|
REGEX=$(echo "$REGEX" | sed -r 's/\s+/\\s\*/g')
|
||||||
|
|
||||||
|
# Word Doc
|
||||||
|
for d in *doc; do
|
||||||
|
if antiword "$d" | grep -iqsP "($REGEX)"; then
|
||||||
|
echo "Possible match: $d"
|
||||||
|
echo "$d" >> "$TMP_FILE"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Word Docx
|
||||||
|
for d in *docx; do
|
||||||
|
if unzip -p "$d" word/document.xml | grep -iqsP "($REGEX)"; then
|
||||||
|
echo "Possible match: $d"
|
||||||
|
echo "$d" >> "$TMP_FILE"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
# Cleanup results
|
||||||
|
if [[ -s "$TMP_FILE" ]]; then
|
||||||
|
sort -u "$TMP_FILE" >> "$HOME/msword-matches.txt"
|
||||||
|
fi
|
||||||
|
rm "$TMP_FILE"
|
||||||
|
|
||||||
|
# Done
|
||||||
|
if [[ -s "$HOME/msword-matches.txt" ]]; then
|
||||||
|
echo "Found $(wc -l "$HOME/msword-matches.txt") possible matches"
|
||||||
|
echo "The results have been saved to $HOME"
|
||||||
|
fi
|
||||||
5
scripts/remount-rw → .linux_items/archlive/airootfs/usr/local/bin/remount-rw
Executable file → Normal file
5
scripts/remount-rw → .linux_items/archlive/airootfs/usr/local/bin/remount-rw
Executable file → Normal file
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
## WizardKit: Volume remount tool
|
## Remount volume read-write
|
||||||
|
|
||||||
if ! mount | grep -q "$1"; then
|
if ! mount | grep -q "$1"; then
|
||||||
echo "ERROR: Can't remount $1"
|
echo "ERROR: Can't remount $1"
|
||||||
|
|
@ -10,7 +10,6 @@ fi
|
||||||
|
|
||||||
DEVICE=$(mount | grep "$1" | cut -d' ' -f1)
|
DEVICE=$(mount | grep "$1" | cut -d' ' -f1)
|
||||||
|
|
||||||
# Remount read-write
|
|
||||||
echo "Remounting: $DEVICE"
|
echo "Remounting: $DEVICE"
|
||||||
udevil umount $DEVICE
|
udevil umount $DEVICE
|
||||||
if udevil mount $DEVICE; then
|
if udevil mount $DEVICE; then
|
||||||
|
|
@ -18,4 +17,6 @@ if udevil mount $DEVICE; then
|
||||||
else
|
else
|
||||||
echo "Failed"
|
echo "Failed"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
sleep 2s
|
||||||
exit 0
|
exit 0
|
||||||
9
.linux_items/archlive/airootfs/usr/local/bin/wifi.conf
Normal file
9
.linux_items/archlive/airootfs/usr/local/bin/wifi.conf
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
ctrl_interface=/var/run/wpa_supplicant
|
||||||
|
eapol_version=1
|
||||||
|
ap_scan=1
|
||||||
|
fast_reauth=1
|
||||||
|
network={
|
||||||
|
ssid="SomeWiFi"
|
||||||
|
psk="Abracadabra"
|
||||||
|
priority=5
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue