@ -0,0 +1,73 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
set -e # exit on error |
||||
|
set -o pipefail # exit on pipeline error |
||||
|
set -u # treat unset variable as error |
||||
|
|
||||
|
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" |
||||
|
PARENT_DIR="$(dirname "$SCRIPT_DIR")" |
||||
|
ISO_DIR="$(dirname "$SCRIPT_DIR")"/iso |
||||
|
|
||||
|
set +u |
||||
|
if [ -z $OUTPUT ]; then |
||||
|
. $SCRIPT_DIR/linux-live/buildconfig || exit 1 |
||||
|
fi |
||||
|
set -u |
||||
|
. $SCRIPT_DIR/linux-live/minioslib || exit 1 |
||||
|
. $SCRIPT_DIR/linux-live/config || exit 1 |
||||
|
|
||||
|
# don't change! use ./autoinstall instead |
||||
|
UNATTENDED="0" |
||||
|
|
||||
|
CMD=(add_package) |
||||
|
|
||||
|
# ============= main ================ |
||||
|
|
||||
|
BUILD_DIR="" |
||||
|
|
||||
|
common_variables |
||||
|
|
||||
|
if [ -f /.dockerenv ] || [ "$container" = "podman" ]; then |
||||
|
new_run |
||||
|
fi |
||||
|
|
||||
|
console_colours |
||||
|
|
||||
|
allow_root_only |
||||
|
|
||||
|
create_livekitname_install_symlink |
||||
|
|
||||
|
create_completion |
||||
|
|
||||
|
create_backup |
||||
|
|
||||
|
# check number of args |
||||
|
if [[ $# == 0 || $# > 3 ]]; then help; fi |
||||
|
|
||||
|
# loop through args |
||||
|
dash_flag=false |
||||
|
start_index=0 |
||||
|
end_index=${#CMD[*]} |
||||
|
for ii in "$@"; do |
||||
|
if [[ $ii == "-" ]]; then |
||||
|
dash_flag=true |
||||
|
continue |
||||
|
fi |
||||
|
find_index $ii |
||||
|
if [[ $dash_flag == false ]]; then |
||||
|
start_index=$index |
||||
|
else |
||||
|
end_index=$(($index + 1)) |
||||
|
fi |
||||
|
done |
||||
|
if [[ $dash_flag == false ]]; then |
||||
|
end_index=$(($start_index + 1)) |
||||
|
fi |
||||
|
|
||||
|
#loop through the commands |
||||
|
for ((ii = $start_index; ii < $end_index; ii++)); do |
||||
|
setup_build_dir |
||||
|
${CMD[ii]} |
||||
|
done |
||||
|
|
||||
|
echo -e "${BOLD}${LIGHTYELLOW}$0${ENDCOLOUR} - ${LIGHTGREEN}Command completed successfully!${ENDCOLOUR}" |
@ -0,0 +1 @@ |
|||||
|
xubuntu-core^ |
@ -0,0 +1,73 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
set -e # exit on error |
||||
|
set -o pipefail # exit on pipeline error |
||||
|
set -u # treat unset variable as error |
||||
|
|
||||
|
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" |
||||
|
PARENT_DIR="$(dirname "$SCRIPT_DIR")" |
||||
|
ISO_DIR="$(dirname "$SCRIPT_DIR")"/iso |
||||
|
|
||||
|
set +u |
||||
|
if [ -z $OUTPUT ]; then |
||||
|
. $SCRIPT_DIR/linux-live/buildconfig || exit 1 |
||||
|
fi |
||||
|
set -u |
||||
|
. $SCRIPT_DIR/linux-live/minioslib || exit 1 |
||||
|
. $SCRIPT_DIR/linux-live/config || exit 1 |
||||
|
|
||||
|
# don't change! use ./autoinstall instead |
||||
|
UNATTENDED="0" |
||||
|
|
||||
|
CMD=(build_modules) |
||||
|
|
||||
|
# ============= main ================ |
||||
|
|
||||
|
BUILD_DIR="" |
||||
|
|
||||
|
common_variables |
||||
|
|
||||
|
if [ -f /.dockerenv ] || [ "$container" = "podman" ]; then |
||||
|
new_run |
||||
|
fi |
||||
|
|
||||
|
console_colours |
||||
|
|
||||
|
allow_root_only |
||||
|
|
||||
|
create_livekitname_install_symlink |
||||
|
|
||||
|
create_completion |
||||
|
|
||||
|
create_backup |
||||
|
|
||||
|
# check number of args |
||||
|
if [[ $# == 0 || $# > 3 ]]; then help; fi |
||||
|
|
||||
|
# loop through args |
||||
|
dash_flag=false |
||||
|
start_index=0 |
||||
|
end_index=${#CMD[*]} |
||||
|
for ii in "$@"; do |
||||
|
if [[ $ii == "-" ]]; then |
||||
|
dash_flag=true |
||||
|
continue |
||||
|
fi |
||||
|
find_index $ii |
||||
|
if [[ $dash_flag == false ]]; then |
||||
|
start_index=$index |
||||
|
else |
||||
|
end_index=$(($index + 1)) |
||||
|
fi |
||||
|
done |
||||
|
if [[ $dash_flag == false ]]; then |
||||
|
end_index=$(($start_index + 1)) |
||||
|
fi |
||||
|
|
||||
|
#loop through the commands |
||||
|
for ((ii = $start_index; ii < $end_index; ii++)); do |
||||
|
setup_build_dir |
||||
|
${CMD[ii]} |
||||
|
done |
||||
|
|
||||
|
echo -e "${BOLD}${LIGHTYELLOW}$0${ENDCOLOUR} - ${LIGHTGREEN}Command completed successfully!${ENDCOLOUR}" |
Before Width: | Height: | Size: 149 KiB After Width: | Height: | Size: 171 KiB |
Before Width: | Height: | Size: 171 KiB |
@ -1,48 +0,0 @@ |
|||||
set default="0" |
|
||||
set timeout="10" |
|
||||
set hidden_timeout_quiet=false |
|
||||
set gfxmode=auto |
|
||||
insmod efi_gop |
|
||||
insmod efi_uga |
|
||||
insmod gfxterm |
|
||||
terminal_output gfxterm |
|
||||
set color_normal=black/black |
|
||||
set color_highlight=black/white |
|
||||
loadfont /boot/grub/unicode.pf2 |
|
||||
background_image /boot/grub/bootlogo.png |
|
||||
|
|
||||
set default_settings="load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 apparmor=0 net.ifnames=0 biosdevname=0" |
|
||||
set perch_settings="slax.flags=perch,automount" |
|
||||
set live_settings="slax.flags=automount" |
|
||||
set ram_settings="slax.flags=toram" |
|
||||
set debug_settings="load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 apparmor=0 debug net.ifnames=0 biosdevname=0" |
|
||||
set linux_64="/minios/boot/vmlinuz" |
|
||||
set initrd_img="/minios/boot/initrfs.img" |
|
||||
set default=0 |
|
||||
set message="Загружаем ядро и рамдиск... Подождите..." |
|
||||
|
|
||||
menuentry "Запуск MiniOS с сохранением изменений"{ |
|
||||
echo $message |
|
||||
search --set -f $linux_64 |
|
||||
linux $linux_64 $default_settings $perch_settings |
|
||||
initrd $initrd_img |
|
||||
} |
|
||||
menuentry "Запуск MiniOS в чистом режиме"{ |
|
||||
echo $message |
|
||||
search --set -f $linux_64 |
|
||||
linux $linux_64 $default_settings $live_settings |
|
||||
initrd $initrd_img |
|
||||
} |
|
||||
menuentry "Запуск MiniOS с загрузкой в RAM"{ |
|
||||
echo $message |
|
||||
search --set -f $linux_64 |
|
||||
linux $linux_64 $default_settings $ram_settings |
|
||||
initrd $initrd_img |
|
||||
} |
|
||||
|
|
||||
menuentry "Запуск MiniOS в режиме отладки"{ |
|
||||
echo $message |
|
||||
search --set -f $linux_64 |
|
||||
linux $linux_64 $debug_settings |
|
||||
initrd $initrd_img |
|
||||
} |
|
@ -1,32 +0,0 @@ |
|||||
FONT 866_8x16.psf |
|
||||
DEFAULT vesamenu.c32 |
|
||||
PROMPT 0 |
|
||||
TIMEOUT 90 |
|
||||
ALLOWOPTIONS 0 |
|
||||
ONTIMEOUT default |
|
||||
MENU BACKGROUND bootlogo.png |
|
||||
|
|
||||
MENU COLOR border 30;44 #00000000 #00000000 none |
|
||||
MENU COLOR unsel 37;44 #901E1E1E #00000000 std |
|
||||
MENU COLOR sel 7;37;40 #ff1E1E1E #99006693 all |
|
||||
MENU COLOR hotsel 1;7;37;40 #55555555 #99006693 all |
|
||||
|
|
||||
LABEL default |
|
||||
MENU LABEL ‡ ¯ã᪠MiniOS á á®åà ¥¨¥¬ ¨§¬¥¥¨© |
|
||||
KERNEL /minios/boot/vmlinuz |
|
||||
APPEND vga=normal initrd=/minios/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 slax.flags=perch,automount apparmor=0 net.ifnames=0 biosdevname=0 |
|
||||
|
|
||||
LABEL live |
|
||||
MENU LABEL ‡ ¯ã᪠MiniOS ¢ ç¨á⮬ ०¨¬¥ |
|
||||
KERNEL /minios/boot/vmlinuz |
|
||||
APPEND vga=normal initrd=/minios/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 slax.flags=automount apparmor=0 net.ifnames=0 biosdevname=0 |
|
||||
|
|
||||
LABEL toram |
|
||||
MENU LABEL ‡ ¯ã᪠MiniOS á § £à㧪®© ¢ RAM |
|
||||
KERNEL /minios/boot/vmlinuz |
|
||||
APPEND vga=normal initrd=/minios/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 slax.flags=toram apparmor=0 net.ifnames=0 biosdevname=0 |
|
||||
|
|
||||
LABEL debug |
|
||||
MENU LABEL ‡ ¯ã᪠MiniOS ¢ ०¨¬¥ ®â« ¤ª¨ |
|
||||
KERNEL /minios/boot/vmlinuz |
|
||||
APPEND vga=normal initrd=/minios/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 apparmor=0 debug net.ifnames=0 biosdevname=0 |
|
@ -0,0 +1,17 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
export PATH=.:./tools:../tools:/usr/sbin:/usr/bin:/sbin:/bin:/ |
||||
|
|
||||
|
. /linux-live/config || exit 1 |
||||
|
. /linux-live/livekitlib || exit 1 |
||||
|
. /linux-live/buildconfig || exit 1 |
||||
|
|
||||
|
# build initramfs image |
||||
|
echo "Building intramfs image..." |
||||
|
cd /linux-live/initramfs |
||||
|
chmod 755 ./initramfs_create |
||||
|
INITRAMFS=$(./initramfs_create) |
||||
|
|
||||
|
if [ "$INITRAMFS" != "" ]; then |
||||
|
mv "$INITRAMFS" /boot/initrfs.img |
||||
|
fi |
@ -1,15 +0,0 @@ |
|||||
#!/bin/bash |
|
||||
|
|
||||
apt-get update |
|
||||
apt-get install -y \ |
|
||||
xorg \ |
|
||||
xterm \ |
|
||||
blackbox \ |
|
||||
nodm |
|
||||
|
|
||||
sed -i "s,NODM_USER=root,NODM_USER=live,g" /run/initramfs/memory/changes/etc/default/nodm |
|
||||
rm -rf /run/initramfs/memory/changes/etc/ssh |
|
||||
rm -f /run/initramfs/memory/changes/etc/machine-id |
|
||||
rm -rf /run/initramfs/memory/changes/root |
|
||||
|
|
||||
savechanges /02-xorg.sb |
|
@ -0,0 +1,17 @@ |
|||||
|
xubuntu-core^ |
||||
|
discover |
||||
|
laptop-detect |
||||
|
os-prober |
||||
|
network-manager |
||||
|
net-tools |
||||
|
wireless-tools |
||||
|
mousepad |
||||
|
blueman |
||||
|
ristretto |
||||
|
onboard |
||||
|
gigolo |
||||
|
gparted |
||||
|
gsmartcontrol |
||||
|
xfce4-taskmanager |
||||
|
xfce4-xkb-plugin |
||||
|
language-pack-gnome-ru |
@ -0,0 +1,3 @@ |
|||||
|
open-vm-tools-desktop |
||||
|
firefox |
||||
|
firefox-locale-ru |
@ -1 +0,0 @@ |
|||||
catfish engrampa mousepad blueman ristretto onboard gigolo gparted xfce4-taskmanager language-pack-gnome-en language-pack-gnome-ru |
|
Before Width: | Height: | Size: 681 KiB After Width: | Height: | Size: 681 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 326 B After Width: | Height: | Size: 326 B |
Before Width: | Height: | Size: 98 B After Width: | Height: | Size: 98 B |
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 101 B After Width: | Height: | Size: 101 B |
Before Width: | Height: | Size: 267 B After Width: | Height: | Size: 267 B |
Before Width: | Height: | Size: 88 B After Width: | Height: | Size: 88 B |
Before Width: | Height: | Size: 236 B After Width: | Height: | Size: 236 B |
Before Width: | Height: | Size: 88 B After Width: | Height: | Size: 88 B |
Before Width: | Height: | Size: 981 B After Width: | Height: | Size: 981 B |
Before Width: | Height: | Size: 136 B After Width: | Height: | Size: 136 B |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
@ -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,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,124 @@ |
|||||
|
# $OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm Exp $ |
||||
|
|
||||
|
# This is the sshd server system-wide configuration file. See |
||||
|
# sshd_config(5) for more information. |
||||
|
|
||||
|
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin |
||||
|
|
||||
|
# The strategy used for options in the default sshd_config shipped with |
||||
|
# OpenSSH is to specify options with their default value where |
||||
|
# possible, but leave them commented. Uncommented options override the |
||||
|
# default value. |
||||
|
|
||||
|
#Port 22 |
||||
|
#AddressFamily any |
||||
|
#ListenAddress 0.0.0.0 |
||||
|
#ListenAddress :: |
||||
|
|
||||
|
#HostKey /etc/ssh/ssh_host_rsa_key |
||||
|
#HostKey /etc/ssh/ssh_host_ecdsa_key |
||||
|
#HostKey /etc/ssh/ssh_host_ed25519_key |
||||
|
|
||||
|
# Ciphers and keying |
||||
|
#RekeyLimit default none |
||||
|
|
||||
|
# Logging |
||||
|
#SyslogFacility AUTH |
||||
|
#LogLevel INFO |
||||
|
|
||||
|
# Authentication: |
||||
|
|
||||
|
#LoginGraceTime 2m |
||||
|
PermitRootLogin yes |
||||
|
#StrictModes yes |
||||
|
#MaxAuthTries 6 |
||||
|
#MaxSessions 10 |
||||
|
|
||||
|
#PubkeyAuthentication yes |
||||
|
|
||||
|
# Expect .ssh/authorized_keys2 to be disregarded by default in future. |
||||
|
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 |
||||
|
|
||||
|
#AuthorizedPrincipalsFile none |
||||
|
|
||||
|
#AuthorizedKeysCommand none |
||||
|
#AuthorizedKeysCommandUser nobody |
||||
|
|
||||
|
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts |
||||
|
#HostbasedAuthentication no |
||||
|
# Change to yes if you don't trust ~/.ssh/known_hosts for |
||||
|
# HostbasedAuthentication |
||||
|
#IgnoreUserKnownHosts no |
||||
|
# Don't read the user's ~/.rhosts and ~/.shosts files |
||||
|
#IgnoreRhosts yes |
||||
|
|
||||
|
# To disable tunneled clear text passwords, change to no here! |
||||
|
PasswordAuthentication yes |
||||
|
#PermitEmptyPasswords no |
||||
|
|
||||
|
# Change to yes to enable challenge-response passwords (beware issues with |
||||
|
# some PAM modules and threads) |
||||
|
ChallengeResponseAuthentication no |
||||
|
|
||||
|
# Kerberos options |
||||
|
#KerberosAuthentication no |
||||
|
#KerberosOrLocalPasswd yes |
||||
|
#KerberosTicketCleanup yes |
||||
|
#KerberosGetAFSToken no |
||||
|
|
||||
|
# GSSAPI options |
||||
|
#GSSAPIAuthentication no |
||||
|
#GSSAPICleanupCredentials yes |
||||
|
#GSSAPIStrictAcceptorCheck yes |
||||
|
#GSSAPIKeyExchange no |
||||
|
|
||||
|
# Set this to 'yes' to enable PAM authentication, account processing, |
||||
|
# and session processing. If this is enabled, PAM authentication will |
||||
|
# be allowed through the ChallengeResponseAuthentication and |
||||
|
# PasswordAuthentication. Depending on your PAM configuration, |
||||
|
# PAM authentication via ChallengeResponseAuthentication may bypass |
||||
|
# the setting of "PermitRootLogin without-password". |
||||
|
# If you just want the PAM account and session checks to run without |
||||
|
# PAM authentication, then enable this but set PasswordAuthentication |
||||
|
# and ChallengeResponseAuthentication to 'no'. |
||||
|
UsePAM yes |
||||
|
|
||||
|
#AllowAgentForwarding yes |
||||
|
#AllowTcpForwarding yes |
||||
|
#GatewayPorts no |
||||
|
X11Forwarding yes |
||||
|
#X11DisplayOffset 10 |
||||
|
#X11UseLocalhost yes |
||||
|
#PermitTTY yes |
||||
|
PrintMotd no |
||||
|
#PrintLastLog yes |
||||
|
#TCPKeepAlive yes |
||||
|
#UseLogin no |
||||
|
#PermitUserEnvironment no |
||||
|
#Compression delayed |
||||
|
#ClientAliveInterval 0 |
||||
|
#ClientAliveCountMax 3 |
||||
|
#UseDNS no |
||||
|
#PidFile /var/run/sshd.pid |
||||
|
#MaxStartups 10:30:100 |
||||
|
#PermitTunnel no |
||||
|
#ChrootDirectory none |
||||
|
#VersionAddendum none |
||||
|
|
||||
|
# no default banner path |
||||
|
#Banner none |
||||
|
|
||||
|
# Allow client to pass locale environment variables |
||||
|
AcceptEnv LANG LC_* |
||||
|
|
||||
|
# override default of no subsystems |
||||
|
Subsystem sftp /usr/lib/openssh/sftp-server |
||||
|
|
||||
|
# Example of overriding settings on a per-user basis |
||||
|
#Match User anoncvs |
||||
|
# X11Forwarding no |
||||
|
# AllowTcpForwarding no |
||||
|
# PermitTTY no |
||||
|
# ForceCommand cvs server |
||||
|
|
||||
|
AllowGroups admin |
After Width: | Height: | Size: 681 KiB |
After Width: | Height: | Size: 17 KiB |
@ -0,0 +1 @@ |
|||||
|
/usr/share/plymouth/themes/minios-logo/minios-logo.plymouth |
@ -0,0 +1,4 @@ |
|||||
|
[Plymouth Theme] |
||||
|
Name=Details |
||||
|
Description=Verbose fallback theme |
||||
|
ModuleName=details |
After Width: | Height: | Size: 326 B |
After Width: | Height: | Size: 98 B |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 3.4 KiB |
@ -0,0 +1,8 @@ |
|||||
|
[Plymouth Theme] |
||||
|
Name=MiniOS Logo |
||||
|
Description=A theme that features a background with a logo. |
||||
|
ModuleName=script |
||||
|
|
||||
|
[script] |
||||
|
ImageDir=/usr/share/plymouth/themes/minios-logo |
||||
|
ScriptFile=/usr/share/plymouth/themes/minios-logo/minios-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=MiniOS Text |
||||
|
Description=Text mode theme based on minios-logo theme |
||||
|
ModuleName=ubuntu-text |
||||
|
|
||||
|
[ubuntu-text] |
||||
|
title=MiniOS 2021 |
||||
|
black=0x000000 |
||||
|
white=0xffffff |
||||
|
brown=0x000000 |
||||
|
blue=0xffffff |
@ -0,0 +1 @@ |
|||||
|
/usr/share/plymouth/themes/minios-text/minios-text.plymouth |