@ -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 |