@ -0,0 +1,8 @@ |
|||
casper |
|||
lupin-casper |
|||
discover |
|||
laptop-detect |
|||
os-prober |
|||
network-manager |
|||
net-tools |
|||
wireless-tools |
@ -0,0 +1,22 @@ |
|||
#xubuntu-core |
|||
#lightdm |
|||
language-pack-gnome-ru |
|||
language-pack-gnome-en |
|||
ubiquity |
|||
ubiquity-casper |
|||
ubiquity-frontend-gtk |
|||
ubiquity-slideshow-xubuntu |
|||
ubiquity-ubuntu-artwork |
|||
#plymouth-theme-ubuntu-logo |
|||
#ubuntu-gnome-desktop |
|||
#ubuntu-gnome-wallpapers |
|||
mousepad |
|||
blueman |
|||
ristretto |
|||
onboard |
|||
gigolo |
|||
gparted |
|||
xfce4-taskmanager |
|||
xfce4-xkb-plugin |
|||
open-vm-tools-desktop |
|||
samba-common |
@ -1,27 +0,0 @@ |
|||
casper |
|||
lupin-casper |
|||
discover |
|||
laptop-detect |
|||
os-prober |
|||
network-manager |
|||
net-tools |
|||
wireless-tools |
|||
xubuntu-core |
|||
lightdm |
|||
#language-pack-gnome-ru |
|||
#language-pack-gnome-en |
|||
#ubiquity |
|||
#ubiquity-casper |
|||
#ubiquity-frontend-gtk |
|||
#ubiquity-slideshow-ubuntu |
|||
#ubiquity-ubuntu-artwork |
|||
#plymouth-theme-ubuntu-logo |
|||
#ubuntu-gnome-desktop |
|||
#ubuntu-gnome-wallpapers |
|||
mousepad |
|||
blueman |
|||
ristretto |
|||
onboard |
|||
gigolo |
|||
gparted |
|||
xfce4-taskmanager |
@ -0,0 +1,4 @@ |
|||
# Let NetworkManager manage all devices on this system |
|||
network: |
|||
version: 2 |
|||
renderer: NetworkManager |
@ -0,0 +1,5 @@ |
|||
[Qt] |
|||
font="Noto Sans,9,-1,5,50,0,0,0,0,0" |
|||
style=GTK+ |
|||
doubleClickInterval=400 |
|||
cursorFlashTime=1200 |
@ -0,0 +1,15 @@ |
|||
# This file is written by xdg-user-dirs-update |
|||
# If you want to change or add directories, just edit the line you're |
|||
# interested in. All local changes will be retained on the next run. |
|||
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped |
|||
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an |
|||
# absolute path. No other format is supported. |
|||
# |
|||
XDG_DESKTOP_DIR="$HOME/Desktop" |
|||
XDG_DOWNLOAD_DIR="$HOME/Downloads" |
|||
XDG_TEMPLATES_DIR="$HOME/Templates" |
|||
XDG_PUBLICSHARE_DIR="$HOME/Public" |
|||
XDG_DOCUMENTS_DIR="$HOME/Documents" |
|||
XDG_MUSIC_DIR="$HOME/Music" |
|||
XDG_PICTURES_DIR="$HOME/Pictures" |
|||
XDG_VIDEOS_DIR="$HOME/Videos" |
@ -0,0 +1 @@ |
|||
en_US |
@ -0,0 +1 @@ |
|||
WebBrowser=google-chrome |
@ -0,0 +1,15 @@ |
|||
[Desktop Entry] |
|||
Version=1.0 |
|||
Type=Application |
|||
Exec=exo-open --launch FileManager %u |
|||
Icon=system-file-manager |
|||
StartupNotify=true |
|||
Terminal=false |
|||
Categories=Utility;X-XFCE;X-Xfce-Toplevel; |
|||
OnlyShowIn=XFCE; |
|||
X-XFCE-MimeType=inode/directory;x-scheme-handler/trash; |
|||
Name=File Manager |
|||
Name[ru]=Файловый менеджер |
|||
Comment=Browse the file system |
|||
Comment[ru]=Просмотреть файловую систему |
|||
X-XFCE-Source=file:///usr/share/applications/exo-file-manager.desktop |
@ -0,0 +1,16 @@ |
|||
[Desktop Entry] |
|||
Version=1.0 |
|||
Type=Application |
|||
Exec=exo-open --launch WebBrowser %u |
|||
Icon=web-browser |
|||
StartupNotify=true |
|||
Terminal=false |
|||
Categories=Network;X-XFCE;X-Xfce-Toplevel; |
|||
OnlyShowIn=XFCE; |
|||
X-XFCE-MimeType=x-scheme-handler/http;x-scheme-handler/https; |
|||
Name=Web Browser |
|||
Name[ru]=Веб-браузер |
|||
Comment=Browse the web |
|||
Comment[ru]=Смотреть в Интернете |
|||
X-XFCE-Source=file:///usr/share/applications/exo-web-browser.desktop |
|||
Path= |
@ -0,0 +1,14 @@ |
|||
[Desktop Entry] |
|||
Version=1.0 |
|||
Type=Application |
|||
Exec=exo-open --launch TerminalEmulator |
|||
Icon=utilities-terminal |
|||
StartupNotify=true |
|||
Terminal=false |
|||
Categories=Utility;X-XFCE;X-Xfce-Toplevel; |
|||
OnlyShowIn=XFCE; |
|||
Name=Terminal Emulator |
|||
Name[ru]=Эмулятор терминала |
|||
Comment=Use the command line |
|||
Comment[ru]=Использовать командную строку |
|||
X-XFCE-Source=file:///usr/share/applications/exo-terminal-emulator.desktop |
@ -0,0 +1,68 @@ |
|||
favorites=RDWebAccess.desktop,RDWebClient.desktop,org.remmina.Remmina.desktop,ctsg.desktop,ctskeyimportg.desktop,ubiquity.desktop |
|||
recent= |
|||
button-title=Applications Menu |
|||
button-icon=MiniOS-white |
|||
button-single-row=false |
|||
show-button-title=false |
|||
show-button-icon=true |
|||
launcher-show-name=true |
|||
launcher-show-description=false |
|||
launcher-show-tooltip=true |
|||
item-icon-size=2 |
|||
hover-switch-category=false |
|||
category-show-name=true |
|||
category-icon-size=1 |
|||
load-hierarchy=true |
|||
recent-items-max=10 |
|||
favorites-in-recent=true |
|||
display-recent-default=false |
|||
position-search-alternate=true |
|||
position-commands-alternate=false |
|||
position-categories-alternate=false |
|||
menu-width=400 |
|||
menu-height=500 |
|||
menu-opacity=100 |
|||
command-settings=xfce4-settings-manager |
|||
show-command-settings=true |
|||
command-lockscreen=xflock4 |
|||
show-command-lockscreen=true |
|||
command-switchuser=dm-tool switch-to-greeter |
|||
show-command-switchuser=false |
|||
command-logout=xfce4-session-logout |
|||
show-command-logout=true |
|||
command-menueditor=menulibre |
|||
show-command-menueditor=true |
|||
command-profile=mugshot |
|||
show-command-profile=true |
|||
search-actions=5 |
|||
|
|||
[action0] |
|||
name=Man-страницы |
|||
pattern=# |
|||
command=exo-open --launch TerminalEmulator man %s |
|||
regex=false |
|||
|
|||
[action1] |
|||
name=Web-поиск |
|||
pattern=? |
|||
command=exo-open --launch WebBrowser https://duckduckgo.com/?q=%u |
|||
regex=false |
|||
|
|||
[action2] |
|||
name=Википедия |
|||
pattern=!w |
|||
command=exo-open --launch WebBrowser https://en.wikipedia.org/wiki/%u |
|||
regex=false |
|||
|
|||
[action3] |
|||
name=Выполнить в терминале |
|||
pattern=! |
|||
command=exo-open --launch TerminalEmulator %s |
|||
regex=false |
|||
|
|||
[action4] |
|||
name=Открыть URI |
|||
pattern=^(file|http|https):\\/\\/(.*)$ |
|||
command=exo-open \\0 |
|||
regex=true |
|||
|
@ -0,0 +1,18 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<channel name="displays" version="1.0"> |
|||
<property name="Default" type="empty"> |
|||
<property name="Virtual1" type="string" value="Virtual1"> |
|||
<property name="Active" type="bool" value="true"/> |
|||
<property name="Resolution" type="string" value="2219x1288"/> |
|||
<property name="RefreshRate" type="double" value="59.999613"/> |
|||
<property name="Rotation" type="int" value="0"/> |
|||
<property name="Reflection" type="string" value="0"/> |
|||
<property name="Primary" type="bool" value="true"/> |
|||
<property name="Position" type="empty"> |
|||
<property name="X" type="int" value="0"/> |
|||
<property name="Y" type="int" value="0"/> |
|||
</property> |
|||
</property> |
|||
</property> |
|||
</channel> |
@ -0,0 +1,7 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<channel name="keyboards" version="1.0"> |
|||
<property name="Default" type="empty"> |
|||
<property name="Numlock" type="bool" value="true"/> |
|||
</property> |
|||
</channel> |
@ -0,0 +1,13 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<channel name="thunar" version="1.0"> |
|||
<property name="misc-volume-management" type="empty"/> |
|||
<property name="shortcuts-icon-size" type="empty"/> |
|||
<property name="last-view" type="string" value="ThunarIconView"/> |
|||
<property name="last-icon-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_NORMAL"/> |
|||
<property name="last-show-hidden" type="bool" value="false"/> |
|||
<property name="last-window-maximized" type="bool" value="true"/> |
|||
<property name="last-separator-position" type="int" value="170"/> |
|||
<property name="last-window-width" type="int" value="948"/> |
|||
<property name="last-window-height" type="int" value="703"/> |
|||
</channel> |
@ -0,0 +1,34 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<channel name="xfce4-desktop" version="1.0"> |
|||
<property name="desktop-icons" type="empty"> |
|||
<property name="style" type="empty"/> |
|||
<property name="file-icons" type="empty"> |
|||
<property name="show-home" type="bool" value="false"/> |
|||
<property name="show-filesystem" type="bool" value="false"/> |
|||
<property name="show-removable" type="empty"/> |
|||
<property name="show-trash" type="bool" value="false"/> |
|||
</property> |
|||
<property name="icon-size" type="empty"/> |
|||
<property name="tooltip-size" type="empty"/> |
|||
<property name="show-hidden-files" type="bool" value="false"/> |
|||
</property> |
|||
<property name="backdrop" type="empty"> |
|||
<property name="screen0" type="empty"> |
|||
<property name="monitor0" type="empty"> |
|||
<property name="image-path" type="empty"/> |
|||
<property name="image-style" type="empty"/> |
|||
<property name="image-show" type="empty"/> |
|||
<property name="workspace0" type="empty"> |
|||
<property name="color-style" type="int" value="0"/> |
|||
<property name="image-style" type="int" value="5"/> |
|||
<property name="last-image" type="string" value="/usr/share/backgrounds/MiniOS.png"/> |
|||
</property> |
|||
</property> |
|||
</property> |
|||
</property> |
|||
<property name="last" type="empty"> |
|||
<property name="window-width" type="int" value="740"/> |
|||
<property name="window-height" type="int" value="526"/> |
|||
</property> |
|||
</channel> |
@ -0,0 +1,211 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<channel name="xfce4-keyboard-shortcuts" version="1.0"> |
|||
<property name="commands" type="empty"> |
|||
<property name="default" type="empty"> |
|||
<property name="<Alt>F1" type="empty"/> |
|||
<property name="<Alt>F2" type="empty"> |
|||
<property name="startup-notify" type="empty"/> |
|||
</property> |
|||
<property name="<Alt>F3" type="empty"> |
|||
<property name="startup-notify" type="empty"/> |
|||
</property> |
|||
<property name="<Primary><Alt>Delete" type="empty"/> |
|||
<property name="<Primary><Alt>l" type="empty"/> |
|||
<property name="XF86Display" type="empty"/> |
|||
<property name="<Super>p" type="empty"/> |
|||
<property name="<Primary>Escape" type="empty"/> |
|||
<property name="XF86WWW" type="empty"/> |
|||
<property name="XF86Mail" type="empty"/> |
|||
<property name="<Primary><Alt>Escape" type="empty"/> |
|||
<property name="Print" type="empty"/> |
|||
<property name="<Alt>Print" type="empty"/> |
|||
<property name="XF86HomePage" type="empty"/> |
|||
<property name="<Super>w" type="empty"/> |
|||
<property name="<Super>m" type="empty"/> |
|||
<property name="XF86Explorer" type="empty"/> |
|||
<property name="<Super>f" type="empty"/> |
|||
<property name="<Super>F1" type="empty"/> |
|||
<property name="<Primary><Alt>t" type="empty"/> |
|||
<property name="<Super>t" type="empty"/> |
|||
<property name="<Super>r" type="empty"/> |
|||
<property name="<Super>e" type="empty"/> |
|||
<property name="XF86Calculator" type="empty"/> |
|||
<property name="XF86Music" type="empty"/> |
|||
<property name="<Super>1" type="empty"/> |
|||
<property name="XF86Messenger" type="empty"/> |
|||
<property name="<Super>2" type="empty"/> |
|||
<property name="<Super>3" type="empty"/> |
|||
<property name="<Super>4" type="empty"/> |
|||
</property> |
|||
<property name="custom" type="empty"> |
|||
<property name="Print" type="string" value="xfce4-screenshooter -f"/> |
|||
<property name="<Alt>Print" type="string" value="xfce4-screenshooter -w"/> |
|||
<property name="<Primary><Alt>Delete" type="string" value="xflock4"/> |
|||
<property name="XF86Explorer" type="string" value="exo-open --launch FileManager"/> |
|||
<property name="<Super>e" type="string" value="mousepad"/> |
|||
<property name="<Super>f" type="string" value="exo-open --launch FileManager"/> |
|||
<property name="<Alt>F3" type="string" value="xfce4-appfinder"> |
|||
<property name="startup-notify" type="bool" value="true"/> |
|||
</property> |
|||
<property name="<Alt>F2" type="string" value="xfrun4"> |
|||
<property name="startup-notify" type="bool" value="true"/> |
|||
</property> |
|||
<property name="<Primary><Alt>l" type="string" value="xflock4"/> |
|||
<property name="<Super>m" type="string" value="exo-open --launch MailReader"/> |
|||
<property name="<Super>1" type="string" value="parole"/> |
|||
<property name="<Super>2" type="string" value="pidgin"/> |
|||
<property name="<Super>3" type="string" value="libreoffice --writer"/> |
|||
<property name="<Super>4" type="string" value="libreoffice --calc"/> |
|||
<property name="<Primary><Alt>t" type="string" value="exo-open --launch TerminalEmulator"/> |
|||
<property name="<Super>r" type="string" value="xfce4-appfinder"/> |
|||
<property name="<Super>t" type="string" value="exo-open --launch TerminalEmulator"/> |
|||
<property name="<Super>p" type="string" value="xfce4-display-settings --minimal"/> |
|||
<property name="<Super>w" type="string" value="exo-open --launch WebBrowser"/> |
|||
<property name="<Primary>Escape" type="string" value="xfce4-popup-whiskermenu"/> |
|||
<property name="XF86Display" type="string" value="xfce4-display-settings --minimal"/> |
|||
<property name="<Alt>F1" type="string" value="xfce4-popup-applicationsmenu"/> |
|||
<property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/> |
|||
<property name="XF86Mail" type="string" value="exo-open --launch MailReader"/> |
|||
<property name="<Primary><Alt>Escape" type="string" value="xkill"/> |
|||
<property name="XF86Messenger" type="string" value="pidgin"/> |
|||
<property name="XF86Calculator" type="string" value="mate-calc"/> |
|||
<property name="XF86Music" type="string" value="parole"/> |
|||
<property name="XF86HomePage" type="string" value="exo-open --launch WebBrowser"/> |
|||
<property name="<Super>F1" type="string" value="xfce4-find-cursor"/> |
|||
<property name="override" type="bool" value="true"/> |
|||
</property> |
|||
</property> |
|||
<property name="xfwm4" type="empty"> |
|||
<property name="default" type="empty"> |
|||
<property name="<Alt>Insert" type="empty"/> |
|||
<property name="Escape" type="empty"/> |
|||
<property name="Left" type="empty"/> |
|||
<property name="Right" type="empty"/> |
|||
<property name="Up" type="empty"/> |
|||
<property name="Down" type="empty"/> |
|||
<property name="<Alt>Tab" type="empty"/> |
|||
<property name="<Alt><Shift>Tab" type="empty"/> |
|||
<property name="<Alt>Delete" type="empty"/> |
|||
<property name="<Primary><Alt>Down" type="empty"/> |
|||
<property name="<Primary><Alt>Left" type="empty"/> |
|||
<property name="<Shift><Alt>Page_Down" type="empty"/> |
|||
<property name="<Alt>F4" type="empty"/> |
|||
<property name="<Alt>F6" type="empty"/> |
|||
<property name="<Alt>F7" type="empty"/> |
|||
<property name="<Alt>F8" type="empty"/> |
|||
<property name="<Alt>F9" type="empty"/> |
|||
<property name="<Alt>F10" type="empty"/> |
|||
<property name="<Alt>F11" type="empty"/> |
|||
<property name="<Alt>F12" type="empty"/> |
|||
<property name="<Primary><Shift><Alt>Left" type="empty"/> |
|||
<property name="<Primary><Alt>End" type="empty"/> |
|||
<property name="<Primary><Alt>Home" type="empty"/> |
|||
<property name="<Primary><Shift><Alt>Right" type="empty"/> |
|||
<property name="<Primary><Shift><Alt>Up" type="empty"/> |
|||
<property name="<Primary><Alt>KP_1" type="empty"/> |
|||
<property name="<Primary><Alt>KP_2" type="empty"/> |
|||
<property name="<Primary><Alt>KP_3" type="empty"/> |
|||
<property name="<Primary><Alt>KP_4" type="empty"/> |
|||
<property name="<Primary><Alt>KP_5" type="empty"/> |
|||
<property name="<Primary><Alt>KP_6" type="empty"/> |
|||
<property name="<Primary><Alt>KP_7" type="empty"/> |
|||
<property name="<Primary><Alt>KP_8" type="empty"/> |
|||
<property name="<Primary><Alt>KP_9" type="empty"/> |
|||
<property name="<Alt>space" type="empty"/> |
|||
<property name="<Shift><Alt>Page_Up" type="empty"/> |
|||
<property name="<Primary><Alt>Right" type="empty"/> |
|||
<property name="<Primary><Alt>d" type="empty"/> |
|||
<property name="<Primary><Alt>Up" type="empty"/> |
|||
<property name="<Super>Tab" type="empty"/> |
|||
<property name="<Primary>F1" type="empty"/> |
|||
<property name="<Primary>F2" type="empty"/> |
|||
<property name="<Primary>F3" type="empty"/> |
|||
<property name="<Primary>F4" type="empty"/> |
|||
<property name="<Primary>F5" type="empty"/> |
|||
<property name="<Primary>F6" type="empty"/> |
|||
<property name="<Primary>F7" type="empty"/> |
|||
<property name="<Primary>F8" type="empty"/> |
|||
<property name="<Primary>F9" type="empty"/> |
|||
<property name="<Primary>F10" type="empty"/> |
|||
<property name="<Primary>F11" type="empty"/> |
|||
<property name="<Primary>F12" type="empty"/> |
|||
<property name="<Alt>F5" type="empty"/> |
|||
<property name="<Super>KP_1" type="empty"/> |
|||
<property name="<Super>Down" type="empty"/> |
|||
<property name="<Super>KP_3" type="empty"/> |
|||
<property name="<Super>Left" type="empty"/> |
|||
<property name="<Super>Right" type="empty"/> |
|||
<property name="<Super>KP_7" type="empty"/> |
|||
<property name="<Super>Up" type="empty"/> |
|||
<property name="<Super>KP_9" type="empty"/> |
|||
</property> |
|||
<property name="custom" type="empty"> |
|||
<property name="Up" type="string" value="up_key"/> |
|||
<property name="<Primary><Alt>KP_9" type="string" value="move_window_workspace_9_key"/> |
|||
<property name="<Super>KP_7" type="string" value="tile_up_left_key"/> |
|||
<property name="Left" type="string" value="left_key"/> |
|||
<property name="<Super>KP_9" type="string" value="tile_up_right_key"/> |
|||
<property name="<Primary><Alt>KP_7" type="string" value="move_window_workspace_7_key"/> |
|||
<property name="<Primary>F3" type="string" value="workspace_3_key"/> |
|||
<property name="<Super>Up" type="string" value="tile_up_key"/> |
|||
<property name="<Alt>Tab" type="string" value="cycle_windows_key"/> |
|||
<property name="<Primary><Alt>KP_6" type="string" value="move_window_workspace_6_key"/> |
|||
<property name="<Alt>Insert" type="string" value="add_workspace_key"/> |
|||
<property name="<Primary><Alt>Right" type="string" value="right_workspace_key"/> |
|||
<property name="<Primary><Shift><Alt>Right" type="string" value="move_window_right_key"/> |
|||
<property name="<Primary><Alt>d" type="string" value="show_desktop_key"/> |
|||
<property name="<Primary><Alt>Up" type="string" value="up_workspace_key"/> |
|||
<property name="<Primary><Alt>KP_8" type="string" value="move_window_workspace_8_key"/> |
|||
<property name="<Primary><Alt>KP_4" type="string" value="move_window_workspace_4_key"/> |
|||
<property name="<Alt><Shift>Tab" type="string" value="cycle_reverse_windows_key"/> |
|||
<property name="<Primary><Alt>KP_3" type="string" value="move_window_workspace_3_key"/> |
|||
<property name="<Primary><Alt>Home" type="string" value="move_window_prev_workspace_key"/> |
|||
<property name="<Super>Right" type="string" value="tile_right_key"/> |
|||
<property name="<Primary><Alt>Down" type="string" value="down_workspace_key"/> |
|||
<property name="<Alt>F5" type="string" value="maximize_horiz_key"/> |
|||
<property name="<Primary><Shift><Alt>Left" type="string" value="move_window_left_key"/> |
|||
<property name="<Alt>F11" type="string" value="fullscreen_key"/> |
|||
<property name="<Super>Down" type="string" value="tile_down_key"/> |
|||
<property name="<Alt>F6" type="string" value="maximize_vert_key"/> |
|||
<property name="<Alt>F4" type="string" value="close_window_key"/> |
|||
<property name="<Alt>F12" type="string" value="above_key"/> |
|||
<property name="Escape" type="string" value="cancel_key"/> |
|||
<property name="<Alt>F7" type="string" value="maximize_window_key"/> |
|||
<property name="<Alt>F8" type="string" value="stick_window_key"/> |
|||
<property name="<Primary><Alt>End" type="string" value="move_window_next_workspace_key"/> |
|||
<property name="<Primary>F11" type="string" value="workspace_11_key"/> |
|||
<property name="<Primary>F10" type="string" value="workspace_10_key"/> |
|||
<property name="<Super>Tab" type="string" value="switch_window_key"/> |
|||
<property name="<Alt>F9" type="string" value="hide_window_key"/> |
|||
<property name="<Primary><Shift><Alt>Up" type="string" value="move_window_up_key"/> |
|||
<property name="Down" type="string" value="down_key"/> |
|||
<property name="<Shift><Alt>Page_Down" type="string" value="lower_window_key"/> |
|||
<property name="Right" type="string" value="right_key"/> |
|||
<property name="<Primary>F6" type="string" value="workspace_6_key"/> |
|||
<property name="<Primary>F12" type="string" value="workspace_12_key"/> |
|||
<property name="<Primary>F1" type="string" value="workspace_1_key"/> |
|||
<property name="<Primary><Alt>Left" type="string" value="left_workspace_key"/> |
|||
<property name="<Primary>F2" type="string" value="workspace_2_key"/> |
|||
<property name="<Primary>F4" type="string" value="workspace_4_key"/> |
|||
<property name="<Primary>F5" type="string" value="workspace_5_key"/> |
|||
<property name="<Super>Left" type="string" value="tile_left_key"/> |
|||
<property name="<Primary>F7" type="string" value="workspace_7_key"/> |
|||
<property name="<Primary>F8" type="string" value="workspace_8_key"/> |
|||
<property name="<Primary>F9" type="string" value="workspace_9_key"/> |
|||
<property name="<Primary><Alt>KP_1" type="string" value="move_window_workspace_1_key"/> |
|||
<property name="<Super>KP_1" type="string" value="tile_down_left_key"/> |
|||
<property name="<Shift><Alt>Page_Up" type="string" value="raise_window_key"/> |
|||
<property name="<Super>KP_3" type="string" value="tile_down_right_key"/> |
|||
<property name="<Primary><Alt>KP_2" type="string" value="move_window_workspace_2_key"/> |
|||
<property name="<Alt>Delete" type="string" value="del_workspace_key"/> |
|||
<property name="<Alt>space" type="string" value="popup_menu_key"/> |
|||
<property name="<Primary><Alt>KP_5" type="string" value="move_window_workspace_5_key"/> |
|||
<property name="override" type="bool" value="true"/> |
|||
</property> |
|||
</property> |
|||
<property name="providers" type="array"> |
|||
<value type="string" value="commands"/> |
|||
<value type="string" value="xfwm4"/> |
|||
</property> |
|||
</channel> |
@ -0,0 +1,17 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<channel name="xfce4-notifyd" version="1.0"> |
|||
<property name="notify-location" type="empty"/> |
|||
<property name="theme" type="empty"/> |
|||
<property name="initial-opacity" type="empty"/> |
|||
<property name="do-fadeout" type="empty"/> |
|||
<property name="applications" type="empty"> |
|||
<property name="known_applications" type="array"> |
|||
<value type="string" value="nm-applet"/> |
|||
<value type="string" value="thunar-volman"/> |
|||
</property> |
|||
</property> |
|||
<property name="plugin" type="empty"> |
|||
<property name="log-only-today" type="bool" value="false"/> |
|||
</property> |
|||
</channel> |
@ -0,0 +1,123 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<channel name="xfce4-panel" version="1.0"> |
|||
<property name="panels" type="uint" value="1"> |
|||
<property name="panel-0" type="empty"> |
|||
<property name="position" type="string" value="p=8;x=1109;y=1275"/> |
|||
<property name="length" type="uint" value="100"/> |
|||
<property name="position-locked" type="bool" value="true"/> |
|||
<property name="plugin-ids" type="array"> |
|||
<value type="int" value="1"/> |
|||
<value type="int" value="21"/> |
|||
<value type="int" value="23"/> |
|||
<value type="int" value="19"/> |
|||
<value type="int" value="24"/> |
|||
<value type="int" value="22"/> |
|||
<value type="int" value="2"/> |
|||
<value type="int" value="3"/> |
|||
<value type="int" value="5"/> |
|||
<value type="int" value="4"/> |
|||
<value type="int" value="7"/> |
|||
<value type="int" value="6"/> |
|||
<value type="int" value="9"/> |
|||
<value type="int" value="10"/> |
|||
<value type="int" value="11"/> |
|||
<value type="int" value="12"/> |
|||
</property> |
|||
<property name="background-style" type="uint" value="0"/> |
|||
<property name="background-alpha" type="uint" value="60"/> |
|||
<property name="size" type="uint" value="32"/> |
|||
<property name="length-adjust" type="bool" value="true"/> |
|||
<property name="span-monitors" type="bool" value="false"/> |
|||
<property name="enter-opacity" type="uint" value="100"/> |
|||
<property name="leave-opacity" type="uint" value="100"/> |
|||
<property name="mode" type="uint" value="0"/> |
|||
<property name="autohide-behavior" type="uint" value="0"/> |
|||
<property name="nrows" type="uint" value="1"/> |
|||
</property> |
|||
</property> |
|||
<property name="plugins" type="empty"> |
|||
<property name="plugin-1" type="string" value="whiskermenu"/> |
|||
<property name="plugin-2" type="string" value="tasklist"> |
|||
<property name="flat-buttons" type="bool" value="true"/> |
|||
<property name="show-handle" type="bool" value="false"/> |
|||
<property name="show-labels" type="bool" value="false"/> |
|||
</property> |
|||
<property name="plugin-3" type="string" value="separator"> |
|||
<property name="style" type="uint" value="0"/> |
|||
<property name="expand" type="bool" value="true"/> |
|||
</property> |
|||
<property name="plugin-4" type="string" value="systray"> |
|||
<property name="show-frame" type="bool" value="false"/> |
|||
<property name="size-max" type="uint" value="22"/> |
|||
<property name="names-visible" type="array"> |
|||
<value type="string" value="thunar"/> |
|||
<value type="string" value="ctsg"/> |
|||
</property> |
|||
<property name="names-hidden" type="array"> |
|||
<value type="string" value="network"/> |
|||
<value type="string" value="xfce4-power-manager"/> |
|||
<value type="string" value="сеть"/> |
|||
<value type="string" value="апплет networkmanager"/> |
|||
<value type="string" value="networkmanager applet"/> |
|||
<value type="string" value="remmina"/> |
|||
</property> |
|||
</property> |
|||
<property name="plugin-9" type="string" value="pulseaudio"> |
|||
<property name="enable-keyboard-shortcuts" type="bool" value="true"/> |
|||
<property name="enable-mpris" type="bool" value="true"/> |
|||
<property name="mixer-command" type="string" value="pavucontrol"/> |
|||
<property name="mpris-players" type="string" value="parole"/> |
|||
<property name="show-notifications" type="bool" value="true"/> |
|||
</property> |
|||
<property name="plugin-10" type="string" value="separator"> |
|||
<property name="style" type="uint" value="0"/> |
|||
<property name="expand" type="bool" value="false"/> |
|||
</property> |
|||
<property name="plugin-11" type="string" value="clock"> |
|||
<property name="digital-format" type="string" value="%d %b, %H:%M"/> |
|||
</property> |
|||
<property name="plugin-12" type="string" value="showdesktop"/> |
|||
<property name="plugin-19" type="string" value="launcher"> |
|||
<property name="items" type="array"> |
|||
<value type="string" value="16093657651.desktop"/> |
|||
</property> |
|||
</property> |
|||
<property name="plugin-21" type="string" value="separator"> |
|||
<property name="style" type="uint" value="0"/> |
|||
</property> |
|||
<property name="plugin-22" type="string" value="separator"> |
|||
<property name="style" type="uint" value="0"/> |
|||
</property> |
|||
<property name="plugin-23" type="string" value="launcher"> |
|||
<property name="items" type="array"> |
|||
<value type="string" value="16093659533.desktop"/> |
|||
</property> |
|||
<property name="show-label" type="bool" value="false"/> |
|||
<property name="disable-tooltips" type="bool" value="false"/> |
|||
</property> |
|||
<property name="plugin-24" type="string" value="launcher"> |
|||
<property name="items" type="array"> |
|||
<value type="string" value="16093659584.desktop"/> |
|||
</property> |
|||
</property> |
|||
<property name="plugin-5" type="string" value="xkb"> |
|||
<property name="display-scale" type="uint" value="50"/> |
|||
<property name="display-tooltip-icon" type="bool" value="true"/> |
|||
<property name="group-policy" type="uint" value="0"/> |
|||
<property name="display-type" type="uint" value="2"/> |
|||
<property name="display-name" type="uint" value="1"/> |
|||
</property> |
|||
<property name="plugin-7" type="string" value="statusnotifier"> |
|||
<property name="known-items" type="array"> |
|||
<value type="string" value="ctsg"/> |
|||
<value type="string" value="remmina-icon"/> |
|||
<value type="string" value="nm-applet"/> |
|||
</property> |
|||
<property name="hidden-items" type="array"> |
|||
</property> |
|||
</property> |
|||
<property name="plugin-6" type="string" value="power-manager-plugin"/> |
|||
</property> |
|||
<property name="configver" type="int" value="2"/> |
|||
</channel> |
@ -0,0 +1,19 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<channel name="xfce4-power-manager" version="1.0"> |
|||
<property name="xfce4-power-manager" type="empty"> |
|||
<property name="power-button-action" type="empty"/> |
|||
<property name="lock-screen-suspend-hibernate" type="bool" value="false"/> |
|||
<property name="logind-handle-lid-switch" type="empty"/> |
|||
<property name="blank-on-ac" type="int" value="0"/> |
|||
<property name="blank-on-battery" type="empty"/> |
|||
<property name="dpms-enabled" type="bool" value="false"/> |
|||
<property name="dpms-on-ac-sleep" type="empty"/> |
|||
<property name="dpms-on-ac-off" type="empty"/> |
|||
<property name="dpms-on-battery-sleep" type="empty"/> |
|||
<property name="dpms-on-battery-off" type="empty"/> |
|||
<property name="show-panel-label" type="int" value="0"/> |
|||
<property name="general-notification" type="bool" value="false"/> |
|||
<property name="show-tray-icon" type="bool" value="false"/> |
|||
</property> |
|||
</channel> |
@ -0,0 +1,39 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<channel name="xfce4-session" version="1.0"> |
|||
<property name="general" type="empty"> |
|||
<property name="FailsafeSessionName" type="empty"/> |
|||
<property name="SaveOnExit" type="empty"/> |
|||
<property name="SessionName" type="string" value="Default"/> |
|||
</property> |
|||
<property name="sessions" type="empty"> |
|||
<property name="Failsafe" type="empty"> |
|||
<property name="IsFailsafe" type="empty"/> |
|||
<property name="Count" type="empty"/> |
|||
<property name="Client0_Command" type="empty"/> |
|||
<property name="Client0_PerScreen" type="empty"/> |
|||
<property name="Client1_Command" type="empty"/> |
|||
<property name="Client1_PerScreen" type="empty"/> |
|||
<property name="Client2_Command" type="empty"/> |
|||
<property name="Client2_PerScreen" type="empty"/> |
|||
<property name="Client3_Command" type="empty"/> |
|||
<property name="Client3_PerScreen" type="empty"/> |
|||
<property name="Client4_Command" type="empty"/> |
|||
<property name="Client4_PerScreen" type="empty"/> |
|||
</property> |
|||
</property> |
|||
<property name="splash" type="empty"> |
|||
<property name="Engine" type="empty"/> |
|||
</property> |
|||
<property name="compat" type="empty"> |
|||
<property name="LaunchGNOME" type="empty"/> |
|||
</property> |
|||
<property name="shutdown" type="empty"> |
|||
<property name="LockScreen" type="bool" value="false"/> |
|||
</property> |
|||
<property name="startup" type="empty"> |
|||
<property name="screensaver" type="empty"> |
|||
<property name="type" type="empty"/> |
|||
</property> |
|||
</property> |
|||
</channel> |
@ -0,0 +1,8 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<channel name="xfce4-settings-manager" version="1.0"> |
|||
<property name="last" type="empty"> |
|||
<property name="window-width" type="int" value="776"/> |
|||
<property name="window-height" type="int" value="500"/> |
|||
</property> |
|||
</channel> |
@ -0,0 +1,82 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<channel name="xfwm4" version="1.0"> |
|||
<property name="general" type="empty"> |
|||
<property name="activate_action" type="empty"/> |
|||
<property name="box_move" type="empty"/> |
|||
<property name="box_resize" type="empty"/> |
|||
<property name="button_layout" type="empty"/> |
|||
<property name="button_offset" type="empty"/> |
|||
<property name="button_spacing" type="empty"/> |
|||
<property name="click_to_focus" type="empty"/> |
|||
<property name="cycle_apps_only" type="empty"/> |
|||
<property name="cycle_draw_frame" type="empty"/> |
|||
<property name="cycle_preview" type="bool" value="false"/> |
|||
<property name="double_click_distance" type="empty"/> |
|||
<property name="double_click_time" type="empty"/> |
|||
<property name="focus_delay" type="empty"/> |
|||
<property name="focus_new" type="empty"/> |
|||
<property name="frame_opacity" type="int" value="100"/> |
|||
<property name="full_width_title" type="empty"/> |
|||
<property name="maximized_offset" type="empty"/> |
|||
<property name="mousewheel_rollup" type="empty"/> |
|||
<property name="placement_mode" type="empty"/> |
|||
<property name="raise_delay" type="empty"/> |
|||
<property name="raise_on_click" type="empty"/> |
|||
<property name="raise_on_focus" type="empty"/> |
|||
<property name="repeat_urgent_blink" type="empty"/> |
|||
<property name="scroll_workspaces" type="empty"/> |
|||
<property name="shadow_delta_height" type="empty"/> |
|||
<property name="shadow_delta_width" type="empty"/> |
|||
<property name="shadow_delta_x" type="empty"/> |
|||
<property name="shadow_delta_y" type="empty"/> |
|||
<property name="shadow_opacity" type="empty"/> |
|||
<property name="show_app_icon" type="empty"/> |
|||
<property name="show_dock_shadow" type="bool" value="false"/> |
|||
<property name="show_frame_shadow" type="empty"/> |
|||
<property name="show_popup_shadow" type="empty"/> |
|||
<property name="snap_to_border" type="empty"/> |
|||
<property name="snap_to_windows" type="empty"/> |
|||
<property name="snap_width" type="empty"/> |
|||
<property name="theme" type="string" value="Greybird"/> |
|||
<property name="title_alignment" type="empty"/> |
|||
<property name="title_font" type="empty"/> |
|||
<property name="title_horizontal_offset" type="empty"/> |
|||
<property name="title_shadow_active" type="empty"/> |
|||
<property name="title_shadow_inactive" type="empty"/> |
|||
<property name="title_vertical_offset_active" type="empty"/> |
|||
<property name="title_vertical_offset_inactive" type="empty"/> |
|||
<property name="urgent_blink" type="empty"/> |
|||
<property name="use_compositing" type="bool" value="true"/> |
|||
<property name="workspace_count" type="int" value="1"/> |
|||
<property name="workspace_names" type="empty"/> |
|||
<property name="wrap_resistance" type="empty"/> |
|||
<property name="wrap_windows" type="empty"/> |
|||
<property name="wrap_workspaces" type="empty"/> |
|||
<property name="borderless_maximize" type="bool" value="true"/> |
|||
<property name="cycle_hidden" type="bool" value="true"/> |
|||
<property name="cycle_minimum" type="bool" value="true"/> |
|||
<property name="cycle_tabwin_mode" type="int" value="0"/> |
|||
<property name="cycle_workspaces" type="bool" value="false"/> |
|||
<property name="double_click_action" type="string" value="maximize"/> |
|||
<property name="easy_click" type="string" value="Alt"/> |
|||
<property name="focus_hint" type="bool" value="true"/> |
|||
<property name="horiz_scroll_opacity" type="bool" value="false"/> |
|||
<property name="inactive_opacity" type="int" value="100"/> |
|||
<property name="move_opacity" type="int" value="100"/> |
|||
<property name="placement_ratio" type="int" value="20"/> |
|||
<property name="popup_opacity" type="int" value="100"/> |
|||
<property name="prevent_focus_stealing" type="bool" value="false"/> |
|||
<property name="raise_with_any_button" type="bool" value="true"/> |
|||
<property name="resize_opacity" type="int" value="100"/> |
|||
<property name="snap_resist" type="bool" value="false"/> |
|||
<property name="sync_to_vblank" type="bool" value="false"/> |
|||
<property name="tile_on_move" type="bool" value="true"/> |
|||
<property name="titleless_maximize" type="bool" value="false"/> |
|||
<property name="toggle_workspaces" type="bool" value="false"/> |
|||
<property name="unredirect_overlays" type="bool" value="true"/> |
|||
<property name="wrap_cycle" type="bool" value="true"/> |
|||
<property name="wrap_layout" type="bool" value="true"/> |
|||
<property name="zoom_desktop" type="bool" value="true"/> |
|||
</property> |
|||
</channel> |
@ -0,0 +1,41 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
|
|||
<channel name="xsettings" version="1.0"> |
|||
<property name="Net" type="empty"> |
|||
<property name="ThemeName" type="string" value="Greybird"/> |
|||
<property name="IconThemeName" type="string" value="elementary-xfce-darker"/> |
|||
<property name="DoubleClickTime" type="empty"/> |
|||
<property name="DoubleClickDistance" type="empty"/> |
|||
<property name="DndDragThreshold" type="empty"/> |
|||
<property name="CursorBlink" type="empty"/> |
|||
<property name="CursorBlinkTime" type="empty"/> |
|||
<property name="SoundThemeName" type="empty"/> |
|||
<property name="EnableEventSounds" type="empty"/> |
|||
<property name="EnableInputFeedbackSounds" type="empty"/> |
|||
<property name="FallbackIconTheme" type="empty"/> |
|||
</property> |
|||
<property name="Xft" type="empty"> |
|||
<property name="DPI" type="empty"/> |
|||
<property name="Antialias" type="empty"/> |
|||
<property name="Hinting" type="empty"/> |
|||
<property name="HintStyle" type="empty"/> |
|||
<property name="RGBA" type="empty"/> |
|||
<property name="Lcdfilter" type="empty"/> |
|||
</property> |
|||
<property name="Gtk" type="empty"> |
|||
<property name="CanChangeAccels" type="empty"/> |
|||
<property name="ColorPalette" type="empty"/> |
|||
<property name="FontName" type="empty"/> |
|||
<property name="MonospaceFontName" type="empty"/> |
|||
<property name="IconSizes" type="empty"/> |
|||
<property name="KeyThemeName" type="empty"/> |
|||
<property name="ToolbarStyle" type="empty"/> |
|||
<property name="ToolbarIconSize" type="empty"/> |
|||
<property name="MenuImages" type="empty"/> |
|||
<property name="ButtonImages" type="empty"/> |
|||
<property name="MenuBarAccel" type="empty"/> |
|||
<property name="CursorThemeName" type="empty"/> |
|||
<property name="CursorThemeSize" type="empty"/> |
|||
<property name="DecorationLayout" type="empty"/> |
|||
</property> |
|||
</channel> |
@ -0,0 +1 @@ |
|||
xubuntu ALL=(ALL) NOPASSWD: ALL |
@ -1,58 +0,0 @@ |
|||
#!/bin/bash |
|||
# Author: Tomas M. <http://www.slax.org/> |
|||
|
|||
usage() |
|||
{ |
|||
echo "" |
|||
echo "Convert directory to .sb compressed module" |
|||
echo "Usage: $0 [source_directory.sb] [[target_file.sb]]" |
|||
echo " If source_directory does not have .sb suffix and it is not 'squashfs-root'," |
|||
echo " then the source_directory itself is included in the module and" |
|||
echo " then the target_file.sb parameter is required." |
|||
echo " If target_file.sb is not specified, the source_directory is erased" |
|||
echo " and replaced by the newly generated module file." |
|||
} |
|||
|
|||
P1="$(readlink -f "$1")" |
|||
P2="$(readlink -f "$2")" |
|||
|
|||
if [ "$P1" = "$P2" ]; then |
|||
P2="" |
|||
fi |
|||
|
|||
SB=$(echo "$P1" | grep -o "[.]sb/*\$") |
|||
if [ "$(echo "$P1" | grep -o "/squashfs-root/*\$")" != "" ]; then |
|||
SB="true" |
|||
fi |
|||
|
|||
if [ "$SB" = "" ]; then |
|||
KEEP="-keep-as-directory" |
|||
if [ "$P2" = "" ]; then |
|||
usage |
|||
exit 1 |
|||
fi |
|||
else |
|||
KEEP="" |
|||
fi |
|||
|
|||
if [ ! -d "$P1" ]; then |
|||
echo "Not a directory: $P1" >&2 |
|||
exit 2 |
|||
fi |
|||
|
|||
|
|||
if [ "$P2" = "" ]; then |
|||
TARGET="$P1".sb |
|||
while [ -e "$TARGET" ]; do TARGET="$TARGET"x; done |
|||
mksquashfs "$P1" "$TARGET" -comp xz -b 1024K -always-use-fragments $KEEP >/dev/null || exit 3 |
|||
umount "$P1" 2>/dev/null |
|||
rm -Rf "$P1" |
|||
mv "$TARGET" "$P1" |
|||
else |
|||
if [ -e "$P2" ]; then |
|||
echo "Target exists: $P2" >&2 |
|||
exit 4 |
|||
fi |
|||
|
|||
mksquashfs "$P1" "$P2" -comp xz -b 1024K -always-use-fragments $KEEP >/dev/null |
|||
fi |
@ -1,48 +0,0 @@ |
|||
#!/bin/bash |
|||
|
|||
. /run/initramfs/lib/config || exit 1 |
|||
|
|||
TMP=/tmp/changes$$ |
|||
EXCLUDE="^\$|/\$|[.]wh[.][.]wh[.]orph/|^[.]wh[.][.]wh[.]plnk/|^[.]wh[.][.]wh[.]aufs|^var/cache/|^var/backups/|^var/tmp/|^var/log/|^var/lib/apt/|^var/lib/dhcp/|^var/lib/systemd/|^sbin/fsck[.]aufs|^etc/resolv[.]conf|^root/[.]Xauthority|^root/[.]xsession-errors|^root/[.]fehbg|^root/[.]fluxbox/lastwallpaper|^root/[.]fluxbox/menu_resolution|^etc/mtab|^etc/fstab|^boot/|^dev/|^mnt/|^proc/|^run/|^sys/|^tmp/" |
|||
CHANGES=/run/initramfs/memory/changes |
|||
|
|||
if [ "$1" = "" ]; then |
|||
echo "" |
|||
echo "savechanges - save all changed files in a compressed filesystem bundle" |
|||
echo " - excluding some predefined files such as /etc/mtab," |
|||
echo " temp & log files, empty directories, apt cache, and such" |
|||
echo "" |
|||
echo "Usage:" |
|||
echo " $0 [ target_file.sb ] [ changes_directory ]" |
|||
echo "" |
|||
echo "If changes_directory is not specified, /run/initramfs/memory/changes is used." |
|||
echo "" |
|||
exit 1 |
|||
fi |
|||
|
|||
if [ ! "$2" = "" ]; then |
|||
CHANGES="$2" |
|||
fi |
|||
|
|||
# exclude the save_file itself of course |
|||
EXCLUDE="$EXCLUDE|^""$(readlink -f "$1" | cut -b 2- | sed -r "s/[.]/[.]/")""\$" |
|||
|
|||
CWD=$(pwd) |
|||
|
|||
cd $CHANGES || exit |
|||
|
|||
mkdir -p $TMP |
|||
mount -t tmpfs tmpfs $TMP |
|||
|
|||
find \( -type d -printf "%p/\n" , -not -type d -print \) \ |
|||
| sed -r "s/^[.]\\///" | egrep -v "$EXCLUDE" \ |
|||
| while read FILE; do |
|||
cp --parents -afr "$FILE" "$TMP" |
|||
done |
|||
|
|||
cd $CWD |
|||
|
|||
mksquashfs $TMP "$1" -comp $COMP_TYPE -b 1024K -always-use-fragments -noappend |
|||
|
|||
umount $TMP |
|||
rmdir $TMP |
@ -1,86 +0,0 @@ |
|||
#!/bin/bash |
|||
# Rebuild initial ramdisk with full network drivers, |
|||
# start DHCP and TFTP server in order to provide PXE service |
|||
# |
|||
# Author: Tomas M <www.slax.org> |
|||
|
|||
LIVE=/run/initramfs |
|||
FTPROOT=/var/state/dnsmasq/root |
|||
|
|||
# find out our own IP address. If more interfaces are available, use the first one |
|||
IP="$(hostname -I | cut -d " " -f 1)" |
|||
GW=$(ip route show | grep default | grep -o "via.*" | head -n 1 | cut -d " " -f 2) |
|||
|
|||
# if no IP is assigned to this computer, setup private address randomly |
|||
if [ "$IP" = "" ]; then |
|||
killall dhclient 2>/dev/null |
|||
IP="10."$(($RANDOM/130+1))"."$(($RANDOM/130+1))".1" |
|||
ifconfig $(ls -1 /sys/class/net | egrep -v '^lo$' | sort | head -n 1) $IP netmask 255.255.255.0 |
|||
fi |
|||
|
|||
# if gateway is not recognized, lets make our IP a gateway and enable forwarding |
|||
if [ "$GW" = "" ]; then |
|||
GW="$IP" |
|||
echo 1 > /proc/sys/net/ipv4/conf/all/forwarding |
|||
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding |
|||
fi |
|||
|
|||
echo Starting PXE server on $IP ... |
|||
|
|||
# calculate C class range |
|||
RANGE=$(echo $IP | cut -d "." -f 1-3) |
|||
|
|||
# make sure dnsmasq can be started |
|||
killall dnsmasq 2>/dev/null |
|||
killall busybox 2>/dev/null |
|||
rm -Rf $FTPROOT 2>/dev/null |
|||
mkdir -p $FTPROOT/{pxelinux.cfg,tmp}/ |
|||
|
|||
# create root filesystem for ftfp |
|||
cd $LIVE |
|||
( find . -print | grep -v "memory" |
|||
cd / |
|||
find /lib/modules/$(uname -r)/kernel/drivers/net | grep -v wireless |
|||
) | cpio -pvd $FTPROOT/tmp 2>/dev/null |
|||
|
|||
cp /lib/modules/$(uname -r)/modules.* $FTPROOT/tmp/lib/modules/$(uname -r) |
|||
depmod -b $FTPROOT/tmp |
|||
rm $FTPROOT/tmp/lib/initramfs_escaped |
|||
|
|||
# pack root in initramfs |
|||
cd $FTPROOT/tmp |
|||
find . -print | cpio -o -H newc 2>/dev/null | gzip -f --fast >../initrfs.img |
|||
cd .. |
|||
rm -Rf tmp |
|||
|
|||
# link files here since copying is not necessary |
|||
ln -s $(find $LIVE/memory/{data,iso,toram} 2>/dev/null | grep vmlinuz | head -n 1) $FTPROOT/vmlinuz |
|||
ln -s $(find $LIVE/memory/{data,iso,toram} 2>/dev/null | grep pxelinux.0 | head -n 1) $FTPROOT/pxelinux.0 |
|||
ln -s $(find $LIVE/memory/{data,iso,toram} 2>/dev/null | grep ldlinux.c32 | head -n 1) $FTPROOT/ldlinux.c32 |
|||
|
|||
find $LIVE/memory/{data,iso,toram} 2>/dev/null | egrep "[.]sb\$" | sort -n | while read LINE; do |
|||
BAS="$(basename "$LINE")" |
|||
ln -s $LINE "$FTPROOT/$BAS" |
|||
echo $BAS >> "$FTPROOT/PXEFILELIST" |
|||
done |
|||
|
|||
echo "This is <a href=http://www.slax.org/>Slax</a> PXE data server. PXE clients will download <a href=PXEFILELIST>file list</a>" > "$FTPROOT/index.html" |
|||
|
|||
# default pxelinux configuration. Keep xmode selection for clients the same like for the server |
|||
echo " |
|||
PROMPT 0 |
|||
DEFAULT slax |
|||
LABEL slax |
|||
KERNEL /vmlinuz |
|||
IPAPPEND 1 |
|||
APPEND initrd=/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 $(cat /proc/cmdline | egrep -o 'slax.flags=[^ ]+' | sed -r 's:[,=]pxe::' | sed -r 's:[,=]toram::') |
|||
" > $FTPROOT/pxelinux.cfg/default |
|||
|
|||
# start the DHCP server and TFTP server |
|||
dnsmasq --enable-tftp --tftp-root=/var/state/dnsmasq/root \ |
|||
--dhcp-boot=pxelinux.0,"$IP",$IP \ |
|||
--dhcp-option=3,$GW \ |
|||
--dhcp-range=$RANGE.2,$RANGE.250,infinite --log-dhcp |
|||
|
|||
# start HTTP server at port 7529 (that are the numbers you type on your phone to write 'slax') |
|||
busybox httpd -p 7529 -h /var/state/dnsmasq/root |
@ -1,17 +0,0 @@ |
|||
#!/bin/bash |
|||
# Author: Tomas M. <http://www.slax.org/> |
|||
|
|||
if [ ! -e "$1" ]; then |
|||
echo |
|||
echo "Erase module directory created by sb2dir" |
|||
echo "Usage: $0 [source_directory.sb]" |
|||
exit 1 |
|||
fi |
|||
|
|||
if [ ! -d "$1" ]; then |
|||
echo "Directory does not exist: $1" >&2 |
|||
exit |
|||
fi |
|||
|
|||
umount "$1" 2>/dev/null |
|||
rm -Rf "$1" |
@ -1,46 +0,0 @@ |
|||
#!/bin/bash |
|||
|
|||
TMP=/tmp/changes$$ |
|||
EXCLUDE="^\$|/\$|[.]wh[.][.]wh[.]orph/|^[.]wh[.][.]wh[.]plnk/|^[.]wh[.][.]wh[.]aufs|^var/cache/|^var/backups/|^var/tmp/|^var/log/|^var/lib/apt/|^var/lib/dhcp/|^var/lib/systemd/|^sbin/fsck[.]aufs|^etc/resolv[.]conf|^root/[.]Xauthority|^root/[.]xsession-errors|^root/[.]fehbg|^root/[.]fluxbox/lastwallpaper|^root/[.]fluxbox/menu_resolution|^etc/mtab|^etc/fstab|^boot/|^dev/|^mnt/|^proc/|^run/|^sys/|^tmp/" |
|||
CHANGES=/run/initramfs/memory/changes |
|||
|
|||
if [ "$1" = "" ]; then |
|||
echo "" |
|||
echo "savechanges - save all changed files in a compressed filesystem bundle" |
|||
echo " - excluding some predefined files such as /etc/mtab," |
|||
echo " temp & log files, empty directories, apt cache, and such" |
|||
echo "" |
|||
echo "Usage:" |
|||
echo " $0 [ target_file.sb ] [ changes_directory ]" |
|||
echo "" |
|||
echo "If changes_directory is not specified, /run/initramfs/memory/changes is used." |
|||
echo "" |
|||
exit 1 |
|||
fi |
|||
|
|||
if [ ! "$2" = "" ]; then |
|||
CHANGES="$2" |
|||
fi |
|||
|
|||
# exclude the save_file itself of course |
|||
EXCLUDE="$EXCLUDE|^""$(readlink -f "$1" | cut -b 2- | sed -r "s/[.]/[.]/")""\$" |
|||
|
|||
CWD=$(pwd) |
|||
|
|||
cd $CHANGES || exit |
|||
|
|||
mkdir -p $TMP |
|||
mount -t tmpfs tmpfs $TMP |
|||
|
|||
find \( -type d -printf "%p/\n" , -not -type d -print \) \ |
|||
| sed -r "s/^[.]\\///" | egrep -v "$EXCLUDE" \ |
|||
| while read FILE; do |
|||
cp --parents -afr "$FILE" "$TMP" |
|||
done |
|||
|
|||
cd $CWD |
|||
|
|||
mksquashfs $TMP "$1" -comp xz -b 1024K -always-use-fragments -noappend |
|||
|
|||
umount $TMP |
|||
rmdir $TMP |
@ -1,29 +0,0 @@ |
|||
#!/bin/bash |
|||
|
|||
if [ "$1" = "rm" ]; then |
|||
shift |
|||
rmsbdir "$@" |
|||
exit $? |
|||
fi |
|||
|
|||
if [ "$1" = "rmdir" ]; then |
|||
shift |
|||
rmsbdir "$@" |
|||
exit $? |
|||
fi |
|||
|
|||
if [ "$1" = "conv" ]; then |
|||
shift |
|||
fi |
|||
|
|||
if [ ! -r "$1" ]; then |
|||
echo File not found "$1" |
|||
exit 1 |
|||
fi |
|||
|
|||
if [ -d "$1" ]; then |
|||
dir2sb "$@" |
|||
exit $? |
|||
fi |
|||
|
|||
sb2dir "$@" |
@ -1,33 +0,0 @@ |
|||
#!/bin/bash |
|||
# Author: Tomas M. <http://www.slax.org/> |
|||
|
|||
if [ ! -e "$1" ]; then |
|||
echo |
|||
echo "Convert .sb compressed module into directory with the same name" |
|||
echo "Usage: $0 [source_file.sb] [[optional output_directory]]" |
|||
echo " If the output_directory is specified, it must exist" |
|||
echo " If the output_directory is not specified, the name source_file.sb" |
|||
echo " is used and the directory is overmounted with tmpfs" |
|||
exit 1 |
|||
fi |
|||
|
|||
if [ ! -r "$1" ]; then |
|||
echo "File does not exist: $1" >&2 |
|||
exit |
|||
fi |
|||
|
|||
if [ "$2" = "" ]; then |
|||
SOURCE="$1".x |
|||
while [ -e "$SOURCE" ]; do SOURCE="$SOURCE"x; done |
|||
mv "$1" "$SOURCE" || exit |
|||
mkdir "$1" |
|||
mount -t tmpfs tmpfs "$1" |
|||
unsquashfs -f -dest "$1" "$SOURCE" >/dev/null || exit |
|||
rm "$SOURCE" |
|||
else |
|||
if [ ! -d "$2" ]; then |
|||
echo "Directory does not exist: $2" >&2 |
|||
exit |
|||
fi |
|||
unsquashfs -f -dest "$2" "$1" >/dev/null |
|||
fi |
@ -1,178 +0,0 @@ |
|||
#!/bin/bash |
|||
# Slax management and control script |
|||
# Author: Tomas M <http://www.slax.org/> |
|||
|
|||
# activate |
|||
# deactivate |
|||
# list |
|||
|
|||
|
|||
LIVE=/run/initramfs/memory |
|||
RAMSTORE=$LIVE/modules |
|||
|
|||
# Print error message and exit |
|||
# $1 = error message |
|||
# |
|||
die() |
|||
{ |
|||
echo "$1" >&2 |
|||
exit 1 |
|||
} |
|||
|
|||
|
|||
print_branches() |
|||
{ |
|||
local SI BUNDLE LOOP CWD |
|||
|
|||
SI="/sys/fs/aufs/$(cat /proc/mounts | grep 'aufs / aufs' | egrep -o 'si=([^,) ]+)' | tr = _)" |
|||
CWD="$(pwd)" |
|||
cd "$SI" |
|||
ls -v1 | grep -v xi_path | egrep 'br[0-9]+' | xargs cat | grep memory/bundles | rev | cut -b 4- | rev | while read BUNDLE; do |
|||
if mountpoint -q "$BUNDLE"; then |
|||
LOOP=$(cat /proc/mounts | fgrep " $BUNDLE squashfs" | cut -d " " -f 1) |
|||
echo -n "$BUNDLE" |
|||
echo -ne "\t" |
|||
losetup $LOOP | sed -r "s:.*[(]|[)].*::g" |
|||
fi |
|||
done | tac |
|||
cd "$CWD" |
|||
} |
|||
|
|||
|
|||
# Activate Slax Bundle |
|||
# $1 = file to activate |
|||
# |
|||
activate() |
|||
{ |
|||
local SB TGT BAS |
|||
|
|||
SB="$(readlink -f "$1")" |
|||
BAS="$(basename "$SB")" |
|||
|
|||
# check if file exists |
|||
if [ ! -r "$SB" ]; then |
|||
usage |
|||
die "file not found $SB" |
|||
fi |
|||
|
|||
# check if the file is part of aufs union, if yes we need to copy it outside |
|||
if df "$SB" | cut -d " " -f 1 | grep -q aufs; then |
|||
TGT="$RAMSTORE" |
|||
mkdir -p "$TGT" |
|||
if [ -r $TGT/$BAS ]; then die "File exists: $TGT/$BAS"; fi |
|||
cp -n "$SB" "$TGT/$BAS" |
|||
if [ $? -ne 0 ]; then die "Error copying file to $TGT/$BAS. Not enough free RAM or disk space?"; fi |
|||
SB="$TGT/$BAS" |
|||
fi |
|||
|
|||
# check if this particular file is already activated |
|||
if print_branches | cut -f 2 | fgrep -q "$SB"; then |
|||
exit |
|||
fi |
|||
|
|||
# mount remount,add |
|||
TGT="$LIVE/bundles/$BAS" |
|||
mkdir -p "$TGT" |
|||
|
|||
mount -n -o loop,ro "$SB" "$TGT" |
|||
if [ $? -ne 0 ]; then |
|||
die "Error mounting $SB to $TGT, perhaps corrupted download" |
|||
fi |
|||
|
|||
# add current branch to aufs union |
|||
mount -t aufs -o remount,add:1:"$TGT" aufs / |
|||
if [ $? -ne 0 ]; then |
|||
umount "$TGT" |
|||
rmdir "$TGT" |
|||
die "Error attaching bundle filesystem to Slax" |
|||
fi |
|||
|
|||
echo "Slax Bundle activated: $BAS" |
|||
} |
|||
|
|||
|
|||
# Deactivate Slax bundle of the given name |
|||
# $1 = path to bundle file, or its name |
|||
# |
|||
deactivate() |
|||
{ |
|||
local BUNDLES SB MATCH LOOP LOOPFILE |
|||
|
|||
BUNDLES=$LIVE/bundles |
|||
MODULES=$LIVE/modules |
|||
SB="$(basename "$1")" |
|||
|
|||
rmdir "$BUNDLES/$SB" 2>/dev/null # this fails unless the dir is |
|||
rmdir "$BUNDLES/$SB.sb" 2>/dev/null # forgotten there empty. It's safe this way |
|||
|
|||
if [ ! -d "$BUNDLES/$SB" ]; then |
|||
# we don't have real filename match, lets try to add .sb extension |
|||
if [ ! -d "$BUNDLES/$SB.sb" ]; then |
|||
# no, still no match. Lets use some guesswork |
|||
SB=$(print_branches | cut -f 2 | egrep -o "/[0-9]+-$SB.sb\$" | tail -n 1 | xargs -r basename) |
|||
else |
|||
SB="$SB.sb" |
|||
fi |
|||
fi |
|||
|
|||
if [ "$SB" = "" -o ! -d "$BUNDLES/$SB" ]; then |
|||
die "can't find active slax bundle $1" |
|||
fi |
|||
|
|||
echo "Attempting to deactivate Slax bundle $SB..." |
|||
mount -t aufs -o remount,verbose,del:"$BUNDLES/$SB" aufs / 2>/dev/null |
|||
if [ $? -ne 0 ]; then |
|||
die "Unable to deactivate Slax Bundle - still in use. See dmesg for more." |
|||
fi |
|||
|
|||
# remember what loop device was the bundle mounted to, it may be needed later |
|||
LOOP="$(cat /proc/mounts | fgrep " $BUNDLES/$SB " | cut -d " " -f 1)" |
|||
LOOPFILE="$(losetup "$LOOP" | cut -d " " -f 3 | sed -r 's:^.|.$::g')" |
|||
|
|||
umount "$BUNDLES/$SB" 2>/dev/null |
|||
if [ $? -ne 0 ]; then |
|||
die "Unable to umount Slax bundle loop-mount $BUNDLES/$SB" |
|||
fi |
|||
rmdir "$BUNDLES/$SB" |
|||
|
|||
# free the loop device manually since umount fails to do that if the bundle was activated on boot |
|||
losetup -d "$LOOP" 2>/dev/null |
|||
|
|||
if echo "$LOOPFILE" | grep -q $RAMSTORE; then |
|||
rm -f $LOOPFILE |
|||
fi |
|||
|
|||
echo "Slax Bundle deactivated: $SB" |
|||
} |
|||
|
|||
|
|||
usage() |
|||
{ |
|||
echo "Usage: $0 [ activate | deactivate | list ] [ file.sb ]" >&2 |
|||
if [ "$1" != "" ]; then |
|||
echo "$1" >&2 |
|||
fi |
|||
} |
|||
|
|||
|
|||
if [ "$1" = "" ]; then |
|||
usage |
|||
die |
|||
fi |
|||
|
|||
if [ "$1" = "activate" ]; then |
|||
activate "$2" |
|||
fi |
|||
|
|||
if [ "$1" = "deactivate" ]; then |
|||
deactivate "$2" |
|||
fi |
|||
|
|||
if [ "$1" = "list" ]; then |
|||
print_branches |
|||
fi |
|||
|
|||
if [ "$1" = "savechanges" ]; then |
|||
shift |
|||
savechanges "$@" |
|||
fi |
@ -1,38 +0,0 @@ |
|||
[Unit] |
|||
Description=Load AppArmor profiles |
|||
DefaultDependencies=no |
|||
Before=sysinit.target |
|||
After=local-fs.target |
|||
After=systemd-journald-audit.socket |
|||
RequiresMountsFor=/var/cache/apparmor |
|||
AssertPathIsReadWrite=/sys/kernel/security/apparmor/.load |
|||
ConditionSecurity=apparmor |
|||
Documentation=man:apparmor(7) |
|||
Documentation=https://gitlab.com/apparmor/apparmor/wikis/home/ |
|||
|
|||
# Don't start this unit on the Ubuntu Live CD |
|||
ConditionPathExists=!/rofs/etc/apparmor.d |
|||
|
|||
# Don't start this unit on the Debian Live CD when using overlayfs |
|||
ConditionPathExists=!/run/live/overlay/work |
|||
|
|||
# Don't start this unit on Slax Live CD |
|||
ConditionPathExists=!/run/initramfs/lib/livekitlib |
|||
|
|||
[Service] |
|||
Type=oneshot |
|||
ExecStart=/lib/apparmor/apparmor.systemd reload |
|||
ExecReload=/lib/apparmor/apparmor.systemd reload |
|||
|
|||
# systemd maps 'restart' to 'stop; start' which means removing AppArmor confinement |
|||
# from running processes (and not being able to re-apply it later). |
|||
# Upstream systemd developers refused to implement an option that allows overriding |
|||
# this behaviour, therefore we have to make ExecStop a no-op to error out on the |
|||
# safe side. |
|||
# |
|||
# If you really want to unload all AppArmor profiles, run aa-teardown |
|||
ExecStop=/bin/true |
|||
RemainAfterExit=yes |
|||
|
|||
[Install] |
|||
WantedBy=sysinit.target |
@ -1,16 +0,0 @@ |
|||
[Unit] |
|||
Description=DHCP Client |
|||
Documentation=man:dhclient(8) |
|||
Wants=network.target |
|||
After=network-pre.target systemd-sysctl.service systemd-modules-load.service |
|||
Before=network.target shutdown.target network-online.target |
|||
ConditionPathExists=!/run/initramfs/net.up.flag |
|||
|
|||
[Service] |
|||
Type=forking |
|||
ExecStart=-/bin/sh -c 'udevadm settle && dhclient -nw' |
|||
PIDFile=/run/dhclient.pid |
|||
|
|||
[Install] |
|||
WantedBy=multi-user.target |
|||
WantedBy=network-online.target |
@ -1,54 +0,0 @@ |
|||
# This file is part of systemd. |
|||
# |
|||
# systemd is free software; you can redistribute it and/or modify it |
|||
# under the terms of the GNU Lesser General Public License as published by |
|||
# the Free Software Foundation; either version 2.1 of the License, or |
|||
# (at your option) any later version. |
|||
|
|||
[Unit] |
|||
Description=Getty on %I |
|||
Documentation=man:agetty(8) man:systemd-getty-generator(8) |
|||
Documentation=http://0pointer.de/blog/projects/serial-console.html |
|||
After=systemd-user-sessions.service plymouth-quit-wait.service |
|||
After=rc-local.service |
|||
|
|||
# If additional gettys are spawned during boot then we should make |
|||
# sure that this is synchronized before getty.target, even though |
|||
# getty.target didn't actually pull it in. |
|||
Before=getty.target |
|||
IgnoreOnIsolate=yes |
|||
|
|||
# IgnoreOnIsolate causes issues with sulogin, if someone isolates |
|||
# rescue.target or starts rescue.service from multi-user.target or |
|||
# graphical.target. |
|||
Conflicts=rescue.service |
|||
Before=rescue.service |
|||
|
|||
# On systems without virtual consoles, don't start any getty. Note |
|||
# that serial gettys are covered by serial-getty@.service, not this |
|||
# unit. |
|||
ConditionPathExists=/dev/tty0 |
|||
|
|||
[Service] |
|||
# the VT is cleared by TTYVTDisallocate |
|||
ExecStart=-/sbin/agetty --noclear %I $TERM |
|||
Type=idle |
|||
Restart=always |
|||
RestartSec=0 |
|||
UtmpIdentifier=%I |
|||
TTYPath=/dev/%I |
|||
TTYReset=yes |
|||
TTYVHangup=yes |
|||
#TM do not clear VT: |
|||
TTYVTDisallocate=no |
|||
KillMode=process |
|||
IgnoreSIGPIPE=no |
|||
SendSIGHUP=yes |
|||
|
|||
# Unset locale for the console getty since the console has problems |
|||
# displaying some internationalized messages. |
|||
Environment=LANG= LANGUAGE= LC_CTYPE= LC_NUMERIC= LC_TIME= LC_COLLATE= LC_MONETARY= LC_MESSAGES= LC_PAPER= LC_NAME= LC_ADDRESS= LC_TELEPHONE= LC_MEASUREMENT= LC_IDENTIFICATION= |
|||
|
|||
[Install] |
|||
WantedBy=getty.target |
|||
DefaultInstance=tty1 |
@ -1,2 +0,0 @@ |
|||
# we don't care about loop* and ram* devices |
|||
KERNEL=="[!lr]*", SUBSYSTEM=="block", RUN+="/sbin/slax-automount %r/%k" |
@ -1,23 +0,0 @@ |
|||
#!/bin/bash |
|||
|
|||
LOCK=/run/lock/gtk-bookmark-update-lock |
|||
BOOKMARKS=/root/.gtk-bookmarks |
|||
|
|||
# make sure to avoid parallel execution by using mkdir as lock |
|||
while true; do |
|||
mkdir $LOCK 2>/dev/null |
|||
if [ $? = 0 ]; then |
|||
break |
|||
fi |
|||
done |
|||
|
|||
cat $BOOKMARKS | fgrep -v ///media/ | fgrep -v "file:/// /" | egrep -v '^$' > $BOOKMARKS.tmp 2>/dev/null |
|||
ls -1 /media | sort | while read LINE; do |
|||
echo "file:///media/$LINE $LINE" >> $BOOKMARKS.tmp |
|||
done |
|||
|
|||
echo "file:/// /" >> $BOOKMARKS.tmp # add root at the beginning |
|||
|
|||
mv -f $BOOKMARKS.tmp $BOOKMARKS |
|||
|
|||
rmdir $LOCK |
@ -1,67 +0,0 @@ |
|||
#!/bin/bash |
|||
# Recreate fstab entries in /etc/fstab and make /media directories |
|||
# This script is called by udev rules, see /lib/udev/rules.d/ |
|||
# |
|||
# Author: Tomas M <http://slax.linux-live.org/> |
|||
|
|||
# Variables available in udev environment: |
|||
# $ACTION (eg: add, remove) |
|||
# $DEVNAME (full device node name including path) |
|||
# $DEVTYPE (eg: disk) |
|||
# $ID_FS_TYPE (eg: ext3) |
|||
# $MAJOR and $MINOR numbers |
|||
# $SUBSYSTEM (eg: block) |
|||
|
|||
PATH=$PATH:/usr/bin:/usr/sbin:/bin:/sbin |
|||
|
|||
BAS="$(basename "$DEVNAME")" |
|||
UNIT="media-$BAS.mount" |
|||
MNT="/media/$BAS" |
|||
TARGET="/etc/systemd/system/$UNIT" |
|||
|
|||
|
|||
# exit if noautomount boot parameter is present |
|||
if cat /proc/cmdline | grep -q noautomount; then |
|||
exit |
|||
fi |
|||
|
|||
# exit if 'automount' boot parameter is missing |
|||
if ! cat /proc/cmdline | grep -q automount; then |
|||
exit |
|||
fi |
|||
|
|||
|
|||
if [ "$ACTION" = "add" -o "$ACTION" = "change" ]; then |
|||
if [ ! -r "$TARGET" ]; then # skip if exists |
|||
|
|||
if [ "$ID_FS_TYPE" != "" -a "$(cat /proc/filesystems | grep "$ID_FS_TYPE")" != "" ]; then |
|||
|
|||
mkdir -p "$MNT" |
|||
|
|||
echo "[Unit]" >$TARGET |
|||
echo "Description=Disk $BAS" >>$TARGET |
|||
echo "" >>$TARGET |
|||
echo "[Mount]" >>$TARGET |
|||
echo "What=$DEVNAME" >>$TARGET |
|||
echo "Where=$MNT" >>$TARGET |
|||
echo "Type=$ID_FS_TYPE" >>$TARGET |
|||
echo "Options=defaults" >>$TARGET |
|||
echo "" >>$TARGET |
|||
echo "[Install]" >>$TARGET |
|||
echo "WantedBy=multi-user.target" >>$TARGET |
|||
|
|||
systemctl enable $UNIT |
|||
systemctl start $UNIT |
|||
|
|||
gtk-bookmarks-update |
|||
DISPLAY=:0.0 pcmanfm -n file://$MNT >/dev/null 2>&1 |
|||
fi |
|||
fi |
|||
fi |
|||
|
|||
if [ "$ACTION" = "remove" ]; then |
|||
systemctl disable $UNIT |
|||
rm "$TARGET" |
|||
rmdir "$MNT" |
|||
gtk-bookmarks-update |
|||
fi |
After Width: | Height: | Size: 681 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 326 B |
After Width: | Height: | Size: 98 B |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 4.7 KiB |
@ -0,0 +1,8 @@ |
|||
[Plymouth Theme] |
|||
Name=Xubuntu Logo |
|||
Description=A theme that features a background with a logo. |
|||
ModuleName=script |
|||
|
|||
[script] |
|||
ImageDir=/usr/share/plymouth/themes/xubuntu-logo |
|||
ScriptFile=/usr/share/plymouth/themes/xubuntu-logo/xubuntu-logo.script |
@ -0,0 +1,512 @@ |
|||
/************************************************************************** |
|||
* |
|||
* Copyright (C) 2011 The Xubuntu Community |
|||
* Copyright (C) 2009 Canonical Ltd. |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* 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/>. |
|||
* |
|||
* Written by: Mad Nick <dr.madnick@gmail.com> |
|||
* |
|||
**************************************************************************/ |
|||
|
|||
/* |
|||
* Related to the screen */ |
|||
|
|||
screen_width = Window.GetWidth(); |
|||
screen_height = Window.GetHeight(); |
|||
screen_x = Window.GetX(); |
|||
screen_y = Window.GetY(); |
|||
|
|||
/**/ |
|||
|
|||
/* |
|||
* Images, check bits per pixel |
|||
* and load images accordingly */ |
|||
|
|||
background_image = Image("wallpaper.png"); |
|||
passw_dialog_input_image = Image("passw-dialog.png"); |
|||
bullet_image = Image("test.png"); |
|||
|
|||
bpp = Window.GetBitsPerPixel(); |
|||
|
|||
if (bpp == 4) { |
|||
|
|||
logotype_image = Image("logo_16bit.png"); |
|||
progress_meter_image = Image("progress-meter_16bit.png"); |
|||
progress_fade_image = Image("progress-fade_16bit.png"); |
|||
fsck_progress_meter_image = Image("progress-meter_16bit.png"); |
|||
fsck_progress_fade_image = Image("fsck-fade_16bit.png"); |
|||
|
|||
} |
|||
else { |
|||
|
|||
logotype_image = Image("logo.png"); |
|||
progress_meter_image = Image("progress-meter.png"); |
|||
progress_fade_image = Image("progress-fade.png"); |
|||
fsck_progress_meter_image = Image("progress-meter.png"); |
|||
fsck_progress_fade_image = Image("fsck-fade.png"); |
|||
|
|||
} |
|||
|
|||
/**/ |
|||
|
|||
/* |
|||
* Sprites */ |
|||
|
|||
ratio = screen_height / screen_width; |
|||
background_ratio = background_image.GetHeight() / background_image.GetWidth(); |
|||
factor = 0; |
|||
|
|||
if (ratio > background_ratio) { |
|||
|
|||
factor = screen_height / background_image.GetHeight(); |
|||
|
|||
} |
|||
else { |
|||
|
|||
factor = screen_width / background_image.GetWidth(); |
|||
|
|||
} |
|||
|
|||
scaled = background_image.Scale(background_image.GetWidth() * factor, background_image.GetHeight() * factor); |
|||
background_sprite = Sprite(scaled); |
|||
background_sprite.SetX(screen_x + screen_width / 2 - scaled.GetWidth() / 2); |
|||
background_sprite.SetY(screen_y + screen_height / 2 - scaled.GetHeight() / 2); |
|||
|
|||
logotype_sprite = Sprite(logotype_image); |
|||
|
|||
fsck_progress_meter_sprite = Sprite(fsck_progress_meter_image); |
|||
fsck_progress_fade_sprite = Sprite(fsck_progress_fade_image.Scale(1, fsck_progress_fade_image.GetHeight())); |
|||
|
|||
passw_dialog_input_sprite = Sprite(passw_dialog_input_image); |
|||
passw_lbl_sprite = Sprite(); |
|||
|
|||
msg_label_sprite = Sprite(); |
|||
|
|||
/**/ |
|||
|
|||
/* |
|||
* Misc */ |
|||
|
|||
counter = 0; |
|||
|
|||
fade_pos_x = (screen_width / 2) - (progress_meter_image.GetWidth() / 2); |
|||
fade_dir = 0; /* 0 = right, 1 = left */ |
|||
|
|||
fsck_running = 0; |
|||
fsck_dev_array; |
|||
fsck_dev_counter = 0; |
|||
fsck_fade_in_counter = 0; |
|||
fsck_done_fading = 0; |
|||
|
|||
stars_array; |
|||
stars_n = 0; |
|||
|
|||
//full_msg = ""; |
|||
msgs_line = [NULL,NULL,NULL,NULL,NULL]; |
|||
|
|||
/**/ |
|||
|
|||
/* |
|||
* Debug related */ |
|||
|
|||
debug = 0; |
|||
debug_sprite = Sprite(); |
|||
|
|||
fun debugOutput(str) { |
|||
|
|||
/* |
|||
* This will print to the top left corner */ |
|||
debug_sprite.SetImage(Image.Text(str)); |
|||
|
|||
} |
|||
|
|||
/**/ |
|||
|
|||
/* |
|||
* Setup the graphics properties */ |
|||
logotype_sprite.SetPosition(screen_x + (screen_width / 2) - (logotype_image.GetWidth() / 2), screen_y + (screen_height / 2) - (logotype_image.GetHeight() / 2)); |
|||
fsck_progress_meter_sprite.SetPosition(screen_x + (screen_width / 2) - (progress_meter_image.GetWidth() / 2), screen_y + (screen_height / 2) + (logotype_image.GetHeight() / 2) + 25); |
|||
fsck_progress_fade_sprite.SetPosition(screen_x + (screen_width / 2) - (progress_meter_image.GetWidth() / 2), screen_y + (screen_height / 2) + (logotype_image.GetHeight() / 2) + 25); |
|||
fsck_progress_meter_sprite.SetOpacity(0); |
|||
fsck_progress_fade_sprite.SetOpacity(0); |
|||
passw_dialog_input_sprite.SetPosition(screen_x + (screen_width / 2) - (passw_dialog_input_image.GetWidth() / 2), screen_y + (screen_height / 2) + (logotype_image.GetHeight() / 2) + 70); |
|||
passw_dialog_input_sprite.SetOpacity(0); |
|||
passw_lbl_sprite.SetOpacity(0); |
|||
|
|||
spin = 0; |
|||
|
|||
/* |
|||
* this function only goes up to 100 |
|||
* because thats all thats needed for |
|||
* the progress meter bar */ |
|||
fun atoi(str) { |
|||
|
|||
int = -1; |
|||
|
|||
for (i = 0; i <= 100; i++) { |
|||
|
|||
if (i + "" == str) { |
|||
|
|||
int = i; |
|||
|
|||
break; |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
return int; |
|||
|
|||
} |
|||
|
|||
/* |
|||
* This handler will/can be invoked |
|||
* 50 times per second. |
|||
* |
|||
* According to the previous author of the |
|||
* splash script, without this callback |
|||
* the screen is not updated correctly */ |
|||
spinner_sprite; |
|||
spinner; |
|||
|
|||
fun refreshHandler() { |
|||
|
|||
if (spin < 3.14 * 2) { |
|||
|
|||
spin = spin + 0.1; |
|||
|
|||
} |
|||
else { |
|||
|
|||
spin = 0; |
|||
|
|||
} |
|||
|
|||
/* if fsck is running or the password is prompted, hide the spinner */ |
|||
if (fsck_running == 1 || passw_dialog_input_sprite.GetOpacity() == 1) { |
|||
|
|||
spinner_sprite.SetOpacity(0); |
|||
|
|||
} else { |
|||
|
|||
spinner = Image("spinner.png"); |
|||
spinner = spinner.Rotate(spin); |
|||
spinner_sprite = Sprite(spinner); |
|||
spinner_sprite.SetPosition(screen_x + (screen_width / 2) - (spinner.GetWidth() / 2), screen_y + (screen_height / 2) - (spinner.GetHeight() / 2) + 80); |
|||
|
|||
} |
|||
|
|||
if (fade_dir == 0) { |
|||
|
|||
counter++; |
|||
|
|||
if (counter >= 200) { |
|||
|
|||
fade_dir = 1; |
|||
|
|||
} |
|||
|
|||
} |
|||
else { |
|||
|
|||
counter--; |
|||
|
|||
if (counter <= 0) { |
|||
|
|||
fade_dir = 0; |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
if ((fsck_running == 1) && (fsck_done_fading == 0)) { |
|||
|
|||
|
|||
fsck_progress_meter_sprite.SetOpacity(fsck_fade_in_counter); |
|||
fsck_progress_fade_sprite.SetOpacity(fsck_fade_in_counter); |
|||
|
|||
if (fsck_fade_in_counter < 1) { |
|||
|
|||
fsck_fade_in_counter+= 0.025; |
|||
|
|||
} |
|||
else { |
|||
|
|||
fsck_done_fading = 1; |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
Plymouth.SetRefreshFunction (refreshHandler); |
|||
|
|||
/**/ |
|||
|
|||
/* |
|||
* This function will display the password related information |
|||
* when being prompt with entering a password */ |
|||
fun showPasswordHandler(prompt, stars) { |
|||
|
|||
if (passw_dialog_input_sprite.GetOpacity() == 0 && passw_lbl_sprite.GetOpacity() == 0) { |
|||
|
|||
passw_dialog_input_sprite.SetOpacity(1); |
|||
passw_lbl_sprite.SetOpacity(1); |
|||
|
|||
} |
|||
|
|||
tmp_prompt_image = Image.Text(prompt, 1, 1, 1); |
|||
|
|||
passw_lbl_sprite.SetImage(tmp_prompt_image); |
|||
passw_lbl_sprite.SetPosition(screen_x + (screen_width / 2) - (tmp_prompt_image.GetWidth() / 2), screen_y + (screen_height / 2) + (logotype_image.GetHeight() / 2) + 50); |
|||
|
|||
for(i = 0; i < stars_n; i++) { |
|||
|
|||
stars_array[i] = NULL; |
|||
|
|||
} |
|||
|
|||
stars_n = 0; |
|||
|
|||
for(i = 0; (i < stars) && (i < 15); i++) { |
|||
|
|||
stars_array[i] = Sprite(bullet_image); |
|||
stars_array[i].SetPosition(screen_x + (((screen_width / 2) - (passw_dialog_input_image.GetWidth() / 2)) + (18 * i)) + 2, screen_y + (screen_height / 2) + (logotype_image.GetHeight() / 2) + 75); |
|||
stars_n++; |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
Plymouth.SetDisplayPasswordFunction(showPasswordHandler); |
|||
|
|||
/**/ |
|||
|
|||
fun displayNormalHandler() { |
|||
|
|||
/* |
|||
* Hide the password dialog and the bullets */ |
|||
|
|||
if (passw_dialog_input_sprite.GetOpacity() == 1) { |
|||
|
|||
passw_dialog_input_sprite.SetOpacity(0); |
|||
|
|||
} |
|||
|
|||
if (passw_lbl_sprite.GetOpacity() == 1) { |
|||
|
|||
passw_lbl_sprite.SetOpacity(0); |
|||
|
|||
} |
|||
|
|||
for(i = 0; i < stars_n; i++) { |
|||
|
|||
stars_array[i] = NULL; |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
Plymouth.SetDisplayNormalFunction(displayNormalHandler); |
|||
|
|||
fun strlen(string) { |
|||
|
|||
i = 0; |
|||
|
|||
while (String(string).CharAt(i)) { |
|||
|
|||
i++; |
|||
|
|||
} |
|||
|
|||
return i; |
|||
|
|||
} |
|||
|
|||
/* |
|||
* This function will display the most current message */ |
|||
fun messageHandler(msg) { |
|||
|
|||
if ((msg == "") || !msg) { |
|||
|
|||
return 0; |
|||
|
|||
} |
|||
|
|||
if (msg.SubString(0, 5) == "keys:") { |
|||
|
|||
msg = msg.SubString(5, strlen(msg)); |
|||
|
|||
} |
|||
|
|||
# Get the message without the "fsckd-cancel-msg" prefix as we don't support i18n |
|||
if (msg.SubString(0, 17) == "fsckd-cancel-msg:") |
|||
msg = msg.SubString(17, strlen(msg)); |
|||
|
|||
//full_msg += msg + " "; |
|||
for(i = 4; i > 0; i--) { |
|||
|
|||
msgs_line[i] = msgs_line[i - 1]; |
|||
|
|||
} |
|||
|
|||
msgs_line[0] = Sprite(Image.Text(msg, 1, 1, 1)); |
|||
|
|||
dist = 1; |
|||
|
|||
for(i = 0; i < 5; i++) { |
|||
|
|||
if (msgs_line[i] != NULL) { |
|||
|
|||
msgs_line[i].SetPosition(screen_x + (screen_width / 2) - (msgs_line[i].GetImage().GetWidth() / 2), screen_y + (screen_height - msgs_line[i].GetImage().GetHeight()) - 20*dist); |
|||
dist++; |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
Plymouth.SetMessageFunction(messageHandler); |
|||
|
|||
/**/ |
|||
|
|||
/* |
|||
* Handles the updates passed to the plymouth daemon |
|||
* for example the FSCK data */ |
|||
fun statusHandler(status) { |
|||
|
|||
tmp_char; |
|||
status_array[0] = ""; |
|||
elem_count = 0; |
|||
|
|||
for (i = 0; String(status).CharAt(i) != ""; i++) { |
|||
|
|||
tmp_char = String(status).CharAt(i); |
|||
|
|||
if (tmp_char != ":") { |
|||
|
|||
status_array[elem_count] += tmp_char; |
|||
|
|||
} |
|||
else { |
|||
|
|||
elem_count++; |
|||
status_array[elem_count] = ""; |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
if (status_array[0] == "fsck") { |
|||
|
|||
already_added = 0; |
|||
|
|||
if (fsck_running == 0) { |
|||
|
|||
/* |
|||
* use the dedicated message handler for this |
|||
* since there is no messages about fsck checks |
|||
* currently... */ |
|||
messageHandler("Routine disk drive check."); |
|||
|
|||
fsck_running = 1; |
|||
|
|||
} |
|||
|
|||
for(i = 0; i < fsck_dev_counter; i++) { |
|||
|
|||
/* |
|||
* check if the device already exist and update |
|||
* the progress only in that case */ |
|||
if (fsck_dev_array[i][0] == status_array[1]) { |
|||
|
|||
fsck_dev_array[i][1] = status_array[2]; /* progress */ |
|||
already_added = 1; |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
/* |
|||
* if the device is not added, then add it */ |
|||
if (already_added == 0) { |
|||
|
|||
fsck_dev_array[fsck_dev_counter][0] = status_array[1]; /* device */ |
|||
fsck_dev_array[fsck_dev_counter][1] = status_array[2]; /* progress */ |
|||
fsck_dev_counter++; |
|||
|
|||
} |
|||
|
|||
/* |
|||
* update the progress */ |
|||
|
|||
total = 0; |
|||
|
|||
for(i = 0; i < fsck_dev_counter; i++) { |
|||
|
|||
total += atoi(fsck_dev_array[i][1]); |
|||
|
|||
} |
|||
|
|||
if (fsck_dev_counter > 0) { |
|||
|
|||
/* |
|||
* display the total percentage */ |
|||
fsck_progress_fade_sprite.SetImage(fsck_progress_fade_image.Scale((fsck_progress_meter_image.GetWidth() / 100) * (total / fsck_dev_counter), fsck_progress_fade_image.GetHeight())); |
|||
|
|||
} |
|||
|
|||
/**/ |
|||
|
|||
/* |
|||
* if the total progress is at maximum, |
|||
* make the progress meter go away, |
|||
* we might want to fade this out... */ |
|||
if (total == (100 * fsck_dev_counter)) { |
|||
|
|||
fsck_progress_meter_sprite.SetOpacity(0); |
|||
fsck_progress_fade_sprite.SetOpacity(0); |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
# systemd-fsckd pass fsckd:<number_devices>:<progress>:<l10n_string> |
|||
if (status_array[0] == "fsckd") { |
|||
fsck_running = 1; |
|||
|
|||
# remove ",x" as we only care about integers |
|||
progress_str = status_array[2]; |
|||
progress = atoi(progress_str.SubString(0, strlen(progress_str) - 2)); |
|||
|
|||
fsck_progress_fade_sprite.SetImage(fsck_progress_fade_image.Scale((fsck_progress_meter_image.GetWidth() / 100) * progress, fsck_progress_fade_image.GetHeight())); |
|||
|
|||
/* |
|||
* if the total progress is at maximum, |
|||
* make the progress meter go away, |
|||
* we might want to fade this out... */ |
|||
if (progress == 100) { |
|||
fsck_progress_meter_sprite.SetOpacity(0); |
|||
fsck_progress_fade_sprite.SetOpacity(0); |
|||
} |
|||
} |
|||
|
|||
} |
|||
|
|||
Plymouth.SetUpdateStatusFunction(statusHandler); |
|||
|
|||
/**/ |
After Width: | Height: | Size: 101 B |
After Width: | Height: | Size: 267 B |
After Width: | Height: | Size: 88 B |
After Width: | Height: | Size: 236 B |
After Width: | Height: | Size: 88 B |
After Width: | Height: | Size: 981 B |
After Width: | Height: | Size: 136 B |
After Width: | Height: | Size: 2.0 KiB |
@ -0,0 +1,11 @@ |
|||
[Plymouth Theme] |
|||
Name=Xubuntu Text |
|||
Description=Text mode theme based on xubuntu-logo theme |
|||
ModuleName=ubuntu-text |
|||
|
|||
[ubuntu-text] |
|||
title=MiniOS 2021 |
|||
black=0x000000 |
|||
white=0xffffff |
|||
brown=0x000000 |
|||
blue=0xffffff |
After Width: | Height: | Size: 2.9 KiB |