# IMMutable DEbian with Xfce - Testing
-## GNU/LINUX Debian testing (bookworm)
+## GNU/LINUX Debian testing (trixie)
Immudex to wersja GNU/Linux Debian zawierająca niezmienne środowisko pracy. Wykorzystuje
ona bowiem archiwum .squashfs znane z LiveCD. Przyczym pozwala ona na pełen
**Uwaga! Od wersji 0.2.3, immudex-testing będzie wymagać min. 6GB wolnego
miejsca na dysku**
+**Uwaga! Od poniedziałku (31.07) godziny 18:00 do wtorku (01.08) godziny 07:00 dostęp do
+searx.morketsmerke.org (silnik wyszukiwania, strona startowa firefox-a) może
+być ograniczony ze względu na prowadzone w tym czasie prace konserwatorskie.**
+
Obraz płyty znajduje się na dedykowanym serwisie WWW. Poniżej znajduje się
odnośniki.
-Tygodniowy build: 27.05.2023
+Tygodniowy build: 30.07.2023
- * 64-bit: [https://ftp.morketsmerke.org/immudex/testing/iso/0.2.4/immudex-testing64.iso](https://ftp.morketsmerke.org/immudex/testing/iso/0.2.4/immudex-testing64.iso)
+ * 64-bit: [https://ftp.morketsmerke.org/immudex/testing/iso/1.0.6/immudex-testing64.iso](https://ftp.morketsmerke.org/immudex/testing/iso/1.0.6/immudex-testing64.iso)
- CRC: 2613063575 SHA1: d6ed9eeb58f8d33d51d931df1ff162011ffc6738
- * 32-bit: [https://ftp.morketsmerke.org/immudex/testing/iso/0.2.4/immudex-testing32.iso](https://ftp.morketsmerke.org/immudex/testing/iso/0.2.4/immudex-testing32.iso)
+ CRC: 2946708413 SHA1: 111a0d04ddb7fc39a214a4ecb10f34dc07222e9d
+ * 32-bit: [https://ftp.morketsmerke.org/immudex/testing/iso/1.0.6/immudex-testing32.iso](https://ftp.morketsmerke.org/immudex/testing/iso/1.0.6/immudex-testing32.iso)
- CRC: 1749988155 SHA1: bda3443e306dafe8b50ad0ecb43896044f8a7994
+ CRC: 3468248041 SHA1: a6e04f8d40646606ebcc4041fc503012794391fa
Domyślnym użytkownikiem jest user, dostęp to niego uzyskujemy za pomocą hasła
user1. Możemy również skorzystać z konta superużytkownika root z hasłem toor.
--- /dev/null
+#!/bin/bash
+
+if [ "$1" ]; then
+ case $1 in
+ "install") echo "Installation $(basename $0) addon...";
+ if [ ! -d /usr/share/immudex_addons ]; then
+ sudo mkdir /usr/share/immudex_addons;
+ fi
+ cat >> $(basename $0)_installer << EOF
+# Here put code for installation addon.
+EOF
+ bash $(basename $0)_installer;
+ if [ $? -eq 0 ]; then
+ rm $(basename $0)_installer;
+ echo $(basename $0) | sudo tee -a /usr/share/immudex_addons/installed_addons;
+ echo "Installation $(basename $0) addon...[ OK ]";
+ fi;;
+ "remove") echo "Removing $(basename $0) addon...";
+ cat >> $(basename $0)_uninstaller << EOF
+# Here put code for remove addon.
+EOF
+ bash $(basename $0)_uninstaller;
+ if [ $? -eq 0 ]; then
+ rm $(basename $0)_uninstaller;
+ sudo sed -i "s/$(basename $0)//g" /usr/share/immudex_addons/installed_addons;
+ echo "Removing $(basename $0) addon...[ OK ]";
+ fi;;
+ esac
+else
+ echo "Internal error: action must be given.";
+ exit 1;
+fi
--- /dev/null
+immudex-testing 1.0.0 - zmiana wersji bazowej Debiana
+
+ 1. Zmiana wersji Debiana z Bookworm na Trixie - BT #62
+
+ 2. Zmiana tła dla ekarnu logowania (zgodnie z projektem 'xfcedebian' w gałezi
+ 'd13'). - BT #62
+
+ 3. Zmiana wyglądu pulpitu (zgodnie z projetem 'xfcedebian' w gałezi 'd13').
+ Zmieniona została tapeta. Usunięto aktywatory z pulpitu i dodano
+ większość tych programów jako "Ulubione" w menu. Zmienion kolorystykę
+ widgetu conky tak aby pasowała do ustawionej w tej wersji tapety.
+ Aktywatory najczęściej wykorzystywanych programów znajdują się na pasku
+ obok przycisku menu 'Start' - BT #62
+
+ 4. Aktualizacja pakietów.
+
+ 5. Zmiana programu pocztowego dostarczanego w raz z dystrybucją.
+ 'Thunderbirda' zastąpił 'mutt'. - BT #66
+
+ 6. Zainstalowano pakiet pozwalający na komunikację z systemem DNS
+ - 'dnsutils'.
+
+ 7. Aktualizacja narzędzia 'pl'. Teraz pozwala ono na odtwarzania filmów z
+ listy linków. - BT #64, #65
+
+ 8. Aktualizacja narzędzia 'import_gpgkeys'. Obecnie wymagane jest również
+ export bazy zaufania kluczy 'trustdb' w pliku 'otrust.txt'. Przez co
+ nie ma już potrzeby ustawiania poziomu zaufania dla klucza. - BT #68
+
+ 9. Zmiana nazwy kodowej wersji testowej w narzędziu 'immudex_branch' oraz
+ w funkcji 'get_debian_branch' w pliku 'library.sh' wykorzystywanym przez
+ kilka innych narzędzi. - BT #62
+
+ 10. Dostosowanie narzędzia 'padlock'. Zmiana ikony pasująca do obecnej formy
+ aktywatora. - BT #73
+
+ 11. Zmiana domyślnych programów dla znanych typów plików.
+
+ 12. Dostosowanie aktywatora Firefoxa do Firejail - BT #72.
--- /dev/null
+immudex-testing 1.0.1 - tygodniowy build 25.06.2023
+
+ 1. Aktualizacja pakietów.
+
+ 2. Nowe narzędzie służące do zarządzania 'addonami'.
+ Uwaga! Część 'addonów' aby miała sens istnienia w systemie musi zostać
+ zainstalowana podczas 'przewinięcia' (na przykład firmware) - BT #75
+
+ 3. Uzupełnienie 'immudex_hostname' o zgłoszone hostname-y. Dodano również
+ generowanie hostname-u dla maszyn wirtualnych KVM. Hostname generowany
+ jest na podstawie Machine ID. - BT #76
+
+ 4. pl - możliwość zmiany odtwarzanego linku podczas odtwarzania innego.
+
+ 5. Dostosowanie obecnie istniejących addonów do narzędzia 'immudex_addons'.
+ - BT #77
+
--- /dev/null
+immudex-testing 1.0.2 - tygodniowy build 02.07.2023
+
+ 1. Aktualizacja pakietów.
+
--- /dev/null
+immudex-testing 1.0.3 - tygodniowy build 09.07.2023
+
+ 1. Aktualizacja pakietów.
+
+ 2. Aktualizacja narzędzia 'newsfeed'. Teraz pod tytułami wyświetlone zostanie
+ zawartość pola "<description>" z pliku RSS.
+
+ 3. Dodanie opcji '--nuke' do narzędzia 'create_media'. Opcja pozwala na
+ wyzerowanie pierwszego megabajta dysku. - BT #83
+
--- /dev/null
+immudex-testing 1.0.4 - tygodniowy build 16.07.2023
+
+ 1. Aktualizacja pakietów.
+
+ 2. Definicja dwóch skrótów klawiszowych:
+ - Ctrl + Alt + t = xfce4-terminal
+ - Win = Uruchamia whisker menu (Menu na pasku pod klawiszem start).
+
+ 3. Dodanie do Menu Start (Whisker menu) przycisku "Wstrzymaj" służącemu
+ przełączeniu komputer w stan uśpienia.
+
--- /dev/null
+immudex-testing 1.0.5 - tygodniowy build 23.07.2023
+
+ 1. Aktualizacja pakietów.
+
+ 2. Aktualizacja narzędzia 'pl', oczyszczenie adresów URL z poprzedzającej ich
+ spacji. W niektórych wersjach 'mpv', mogło to sposowodować brak
+ odtwarzania.
+
--- /dev/null
+immudex-testing 1.0.5 - tygodniowy build 30.07.2023
+
+ 1. Aktualizacja pakietów.
+
+ 2. Unifikacja narzędzia immudex_hostname, obecnie na wszystkich wersjach
+ immudex nazwa hosta będzie mieć taki sam wzorzec:
+ (Wartość pola 'Chassis' z polecenia hostnamectl [bez unicode])-(siedem ostatnich znaków z boot ID)
+ BT #92
+
+ 3. Dodanie zaginionej aktualizacji narzędzia 'create_media', zawierającej
+ opcję '--nuke', pozwalającej na wyczyszczenie pierwszego megabajtu dysku
+ BT #83
+
+ 4. Aktualizacja domyślnego profilu przeglądarki Firefox, po to aby nie
+ wyświetlała się ta początkowa konfigracja za każdym uruchomieniem po
+ restartcie systemu.
+
+
--- /dev/null
+favorites=xfce4-web-browser.desktop,xfce4-file-manager.desktop,xfce4-terminal-emulator.desktop,qmmp-1.desktop,gvim.desktop,vlc.desktop,virt-manager.desktop
+recent=vlc.desktop,xfce4-terminal-emulator.desktop,xfce4-terminal.desktop
+button-title=Start
+button-icon=debian-logo
+button-single-row=false
+show-button-title=true
+show-button-icon=true
+launcher-show-name=true
+launcher-show-description=true
+launcher-show-tooltip=true
+launcher-icon-size=3
+hover-switch-category=false
+category-show-name=true
+category-icon-size=1
+sort-categories=true
+view-mode=1
+default-category=0
+recent-items-max=10
+favorites-in-recent=true
+position-search-alternate=true
+position-commands-alternate=false
+position-categories-alternate=true
+position-categories-horizontal=false
+stay-on-focus-out=false
+profile-shape=0
+confirm-session-command=true
+menu-width=450
+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-logoutuser=xfce4-session-logout --logout --fast
+show-command-logoutuser=true
+command-restart=xfce4-session-logout --reboot --fast
+show-command-restart=true
+command-shutdown=xfce4-session-logout --halt --fast
+show-command-shutdown=true
+command-suspend=xfce4-session-logout --suspend
+show-command-suspend=true
+command-hibernate=xfce4-session-logout --hibernate
+show-command-hibernate=false
+command-logout=xfce4-session-logout
+show-command-logout=false
+command-menueditor=menulibre
+show-command-menueditor=true
+command-profile=mugshot
+show-command-profile=true
+search-actions=5
+
+[action0]
+name=Strony podręcznika
+pattern=#
+command=exo-open --launch TerminalEmulator man %s
+regex=false
+
+[action1]
+name=Wyszukiwarka internetowa
+pattern=?
+command=exo-open --launch WebBrowser https://duckduckgo.com/?q=%u
+regex=false
+
+[action2]
+name=Wikipedia
+pattern=!w
+command=exo-open --launch WebBrowser https://en.wikipedia.org/wiki/%u
+regex=false
+
+[action3]
+name=Uruchom w terminalu
+pattern=!
+command=exo-open --launch TerminalEmulator %s
+regex=false
+
+[action4]
+name=Otwórz adres URI
+pattern=^(file|http|https):\\/\\/(.*)$
+command=exo-open \\0
+regex=true
+
--- /dev/null
+<?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="<Primary><Alt>t" 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="HomePage" type="empty"/>
+ <property name="XF86Mail" type="empty"/>
+ <property name="Print" type="empty"/>
+ <property name="<Alt>Print" type="empty"/>
+ <property name="<Shift>Print" type="empty"/>
+ <property name="<Super>e" type="empty"/>
+ <property name="<Primary><Alt>f" type="empty"/>
+ <property name="<Primary><Alt>Escape" type="empty"/>
+ <property name="<Primary><Shift>Escape" type="empty"/>
+ <property name="<Super>r" type="empty">
+ <property name="startup-notify" type="empty"/>
+ </property>
+ <property name="<Alt><Super>s" type="empty"/>
+ </property>
+ <property name="custom" type="empty">
+ <property name="<Alt>F2" type="string" value="xfce4-appfinder --collapsed">
+ <property name="startup-notify" type="bool" value="true"/>
+ </property>
+ <property name="<Alt>Print" type="string" value="xfce4-screenshooter -w"/>
+ <property name="<Super>r" type="string" value="xfce4-appfinder -c">
+ <property name="startup-notify" type="bool" value="true"/>
+ </property>
+ <property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/>
+ <property name="XF86Mail" type="string" value="exo-open --launch MailReader"/>
+ <property name="<Alt>F3" type="string" value="xfce4-appfinder">
+ <property name="startup-notify" type="bool" value="true"/>
+ </property>
+ <property name="Print" type="string" value="xfce4-screenshooter"/>
+ <property name="<Primary>Escape" type="string" value="xfdesktop --menu"/>
+ <property name="<Shift>Print" type="string" value="xfce4-screenshooter -r"/>
+ <property name="<Primary><Alt>Delete" type="string" value="xfce4-session-logout"/>
+ <property name="<Primary><Alt>f" type="string" value="thunar"/>
+ <property name="<Primary><Alt>l" type="string" value="xflock4"/>
+ <property name="<Super>p" type="string" value="xfce4-display-settings --minimal"/>
+ <property name="<Primary><Shift>Escape" type="string" value="xfce4-taskmanager"/>
+ <property name="<Super>e" type="string" value="thunar"/>
+ <property name="<Primary><Alt>Escape" type="string" value="xkill"/>
+ <property name="HomePage" type="string" value="exo-open --launch WebBrowser"/>
+ <property name="XF86Display" type="string" value="xfce4-display-settings --minimal"/>
+ <property name="override" type="bool" value="true"/>
+ <property name="Super_L" type="string" value="xfce4-popup-whiskermenu"/>
+ <property name="<Primary><Alt>t" type="string" value="xfce4-terminal"/>
+ </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="<Super>KP_Left" type="empty"/>
+ <property name="<Super>KP_Right" type="empty"/>
+ <property name="<Super>KP_Down" type="empty"/>
+ <property name="<Super>KP_Up" type="empty"/>
+ <property name="<Super>KP_Page_Up" type="empty"/>
+ <property name="<Super>KP_Home" type="empty"/>
+ <property name="<Super>KP_End" type="empty"/>
+ <property name="<Super>KP_Next" type="empty"/>
+ </property>
+ <property name="custom" type="empty">
+ <property name="<Primary>F12" type="string" value="workspace_12_key"/>
+ <property name="<Super>KP_Down" type="string" value="tile_up_key"/>
+ <property name="<Alt>F4" type="string" value="close_window_key"/>
+ <property name="<Primary><Alt>KP_3" type="string" value="move_window_workspace_3_key"/>
+ <property name="<Primary>F2" type="string" value="workspace_2_key"/>
+ <property name="<Primary>F6" type="string" value="workspace_6_key"/>
+ <property name="<Primary><Alt>Down" type="string" value="down_workspace_key"/>
+ <property name="<Primary><Alt>KP_9" type="string" value="move_window_workspace_9_key"/>
+ <property name="<Super>KP_Up" type="string" value="tile_down_key"/>
+ <property name="<Primary><Alt>End" type="string" value="move_window_next_workspace_key"/>
+ <property name="<Primary>F8" type="string" value="workspace_8_key"/>
+ <property name="<Primary><Shift><Alt>Left" type="string" value="move_window_left_key"/>
+ <property name="<Super>KP_Right" type="string" value="tile_right_key"/>
+ <property name="<Primary><Alt>KP_4" type="string" value="move_window_workspace_4_key"/>
+ <property name="Right" type="string" value="right_key"/>
+ <property name="Down" type="string" value="down_key"/>
+ <property name="<Primary>F3" type="string" value="workspace_3_key"/>
+ <property name="<Shift><Alt>Page_Down" type="string" value="lower_window_key"/>
+ <property name="<Primary>F9" type="string" value="workspace_9_key"/>
+ <property name="<Alt>Tab" type="string" value="cycle_windows_key"/>
+ <property name="<Primary><Shift><Alt>Right" type="string" value="move_window_right_key"/>
+ <property name="<Primary><Alt>Right" type="string" value="right_workspace_key"/>
+ <property name="<Alt>F6" type="string" value="stick_window_key"/>
+ <property name="<Primary><Alt>KP_5" type="string" value="move_window_workspace_5_key"/>
+ <property name="<Primary>F11" type="string" value="workspace_11_key"/>
+ <property name="<Alt>F10" type="string" value="maximize_window_key"/>
+ <property name="<Alt>Delete" type="string" value="del_workspace_key"/>
+ <property name="<Super>Tab" type="string" value="switch_window_key"/>
+ <property name="<Primary><Alt>d" type="string" value="show_desktop_key"/>
+ <property name="<Primary>F4" type="string" value="workspace_4_key"/>
+ <property name="<Super>KP_Page_Up" type="string" value="tile_up_right_key"/>
+ <property name="<Alt>F7" type="string" value="move_window_key"/>
+ <property name="Up" type="string" value="up_key"/>
+ <property name="<Primary><Alt>KP_6" type="string" value="move_window_workspace_6_key"/>
+ <property name="<Alt>F11" type="string" value="fullscreen_key"/>
+ <property name="<Alt>space" type="string" value="popup_menu_key"/>
+ <property name="<Super>KP_Home" type="string" value="tile_up_left_key"/>
+ <property name="Escape" type="string" value="cancel_key"/>
+ <property name="<Primary><Alt>KP_1" type="string" value="move_window_workspace_1_key"/>
+ <property name="<Super>KP_Next" type="string" value="tile_down_right_key"/>
+ <property name="<Super>KP_Left" type="string" value="tile_left_key"/>
+ <property name="<Shift><Alt>Page_Up" type="string" value="raise_window_key"/>
+ <property name="<Primary><Alt>Home" type="string" value="move_window_prev_workspace_key"/>
+ <property name="<Alt><Shift>Tab" type="string" value="cycle_reverse_windows_key"/>
+ <property name="<Primary><Alt>Left" type="string" value="left_workspace_key"/>
+ <property name="<Alt>F12" type="string" value="above_key"/>
+ <property name="<Primary><Shift><Alt>Up" type="string" value="move_window_up_key"/>
+ <property name="<Primary>F5" type="string" value="workspace_5_key"/>
+ <property name="<Alt>F8" type="string" value="resize_window_key"/>
+ <property name="<Primary><Alt>KP_7" type="string" value="move_window_workspace_7_key"/>
+ <property name="<Primary><Alt>KP_2" type="string" value="move_window_workspace_2_key"/>
+ <property name="<Super>KP_End" type="string" value="tile_down_left_key"/>
+ <property name="<Primary><Alt>Up" type="string" value="up_workspace_key"/>
+ <property name="<Alt>F9" type="string" value="hide_window_key"/>
+ <property name="<Primary>F7" type="string" value="workspace_7_key"/>
+ <property name="<Primary>F10" type="string" value="workspace_10_key"/>
+ <property name="Left" type="string" value="left_key"/>
+ <property name="<Primary><Alt>KP_8" type="string" value="move_window_workspace_8_key"/>
+ <property name="<Alt>Insert" type="string" value="add_workspace_key"/>
+ <property name="<Primary>F1" type="string" value="workspace_1_key"/>
+ <property name="override" type="bool" value="true"/>
+ </property>
+ </property>
+ <property name="providers" type="array">
+ <value type="string" value="xfwm4"/>
+ <value type="string" value="commands"/>
+ </property>
+</channel>
--- /dev/null
+[Desktop Entry]
+Encoding=UTF-8
+Version=0.9.4
+Type=Application
+Name=Notifier - packages
+Comment=Notifier - packages
+Exec=/usr/local/bin/notifier packages
+OnlyShowIn=XFCE;
+RunHook=0
+StartupNotify=false
+Terminal=false
+Hidden=false
+
--- /dev/null
+[Desktop Entry]
+Encoding=UTF-8
+Version=0.9.4
+Type=Application
+Name=autostart-x4notes
+Comment=Uruchamianie xfce4-notes w cryptfs
+Exec=/usr/local/bin/autostart-x4notes
+OnlyShowIn=XFCE;
+RunHook=0
+StartupNotify=false
+Terminal=false
+Hidden=false
+
--- /dev/null
+[MIME Cache]
+application/clarisworks=libreoffice-calc.desktop;libreoffice-draw.desktop;libreoffice-writer.desktop;
+application/csv=libreoffice-calc.desktop;
+application/epub+zip=atril.desktop;xarchiver.desktop;
+application/excel=libreoffice-calc.desktop;
+application/gzip=xarchiver.desktop;
+application/macwriteii=libreoffice-writer.desktop;
+application/mathml+xml=libreoffice-math.desktop;
+application/mpeg4-iod=vlc.desktop;
+application/mpeg4-muxcodetable=vlc.desktop;
+application/msexcel=libreoffice-calc.desktop;
+application/mspowerpoint=libreoffice-impress.desktop;
+application/msword=libreoffice-writer.desktop;
+application/mxf=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+application/ogg=mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+application/oxps=atril.desktop;
+application/pdf=atril.desktop;gimp.desktop;libreoffice-draw.desktop;
+application/pkcs10=gcr-viewer.desktop;
+application/pkcs10+pem=gcr-viewer.desktop;
+application/pkcs12=gcr-viewer.desktop;
+application/pkcs12+pem=gcr-viewer.desktop;
+application/pkcs7-mime=gcr-viewer.desktop;
+application/pkcs7-mime+pem=gcr-viewer.desktop;
+application/pkcs8=gcr-viewer.desktop;
+application/pkcs8+pem=gcr-viewer.desktop;
+application/pkix-cert=gcr-viewer.desktop;
+application/pkix-cert+pem=gcr-viewer.desktop;
+application/pkix-crl=gcr-viewer.desktop;
+application/pkix-crl+pem=gcr-viewer.desktop;
+application/postscript=atril.desktop;gimp.desktop;
+application/prs.plucker=libreoffice-writer.desktop;
+application/ram=org.xfce.Parole.desktop;vlc.desktop;
+application/rdf+xml=firefox-esr.desktop;
+application/rss+xml=firefox-esr.desktop;
+application/rtf=libreoffice-writer.desktop;
+application/sdp=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+application/smil=mpv.desktop;org.xfce.Parole.desktop;
+application/smil+xml=org.xfce.Parole.desktop;
+application/streamingmedia=mpv.desktop;
+application/tab-separated-values=libreoffice-calc.desktop;
+application/vnd-comicbook.rar=atril.desktop;
+application/vnd.android.package-archive=xarchiver.desktop;
+application/vnd.apple.mpegurl=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+application/vnd.comicbook+zip=atril.desktop;xarchiver.desktop;
+application/vnd.corel-draw=libreoffice-draw.desktop;
+application/vnd.debian.binary-package=xarchiver.desktop;
+application/vnd.lotus-1-2-3=libreoffice-calc.desktop;
+application/vnd.lotus-wordpro=libreoffice-writer.desktop;
+application/vnd.mozilla.xul+xml=firefox-esr.desktop;
+application/vnd.ms-asf=mpv.desktop;vlc.desktop;
+application/vnd.ms-cab-compressed=xarchiver.desktop;
+application/vnd.ms-excel=libreoffice-calc.desktop;
+application/vnd.ms-excel.sheet.binary.macroEnabled.12=libreoffice-calc.desktop;
+application/vnd.ms-excel.sheet.macroEnabled.12=libreoffice-calc.desktop;
+application/vnd.ms-excel.template.macroEnabled.12=libreoffice-calc.desktop;
+application/vnd.ms-powerpoint=libreoffice-impress.desktop;
+application/vnd.ms-powerpoint.presentation.macroEnabled.12=libreoffice-impress.desktop;
+application/vnd.ms-powerpoint.slideshow.macroEnabled.12=libreoffice-impress.desktop;
+application/vnd.ms-powerpoint.template.macroEnabled.12=libreoffice-impress.desktop;
+application/vnd.ms-publisher=libreoffice-draw.desktop;
+application/vnd.ms-word=libreoffice-writer.desktop;
+application/vnd.ms-word.document.macroEnabled.12=libreoffice-writer.desktop;
+application/vnd.ms-word.template.macroEnabled.12=libreoffice-writer.desktop;
+application/vnd.ms-works=libreoffice-calc.desktop;libreoffice-writer.desktop;
+application/vnd.ms-wpl=org.xfce.Parole.desktop;vlc.desktop;
+application/vnd.ms-xpsdocument=atril.desktop;
+application/vnd.oasis.opendocument.chart=libreoffice-calc.desktop;
+application/vnd.oasis.opendocument.chart-template=libreoffice-calc.desktop;
+application/vnd.oasis.opendocument.formula=libreoffice-math.desktop;
+application/vnd.oasis.opendocument.formula-template=libreoffice-math.desktop;
+application/vnd.oasis.opendocument.graphics=libreoffice-draw.desktop;
+application/vnd.oasis.opendocument.graphics-flat-xml=libreoffice-draw.desktop;libreoffice-xsltfilter.desktop;
+application/vnd.oasis.opendocument.graphics-template=libreoffice-draw.desktop;
+application/vnd.oasis.opendocument.presentation=libreoffice-impress.desktop;
+application/vnd.oasis.opendocument.presentation-flat-xml=libreoffice-impress.desktop;libreoffice-xsltfilter.desktop;
+application/vnd.oasis.opendocument.presentation-template=libreoffice-impress.desktop;
+application/vnd.oasis.opendocument.spreadsheet=libreoffice-calc.desktop;
+application/vnd.oasis.opendocument.spreadsheet-flat-xml=libreoffice-calc.desktop;libreoffice-xsltfilter.desktop;
+application/vnd.oasis.opendocument.spreadsheet-template=libreoffice-calc.desktop;
+application/vnd.oasis.opendocument.text=libreoffice-writer.desktop;
+application/vnd.oasis.opendocument.text-flat-xml=libreoffice-writer.desktop;libreoffice-xsltfilter.desktop;
+application/vnd.oasis.opendocument.text-master=libreoffice-writer.desktop;
+application/vnd.oasis.opendocument.text-master-template=libreoffice-writer.desktop;
+application/vnd.oasis.opendocument.text-template=libreoffice-writer.desktop;
+application/vnd.oasis.opendocument.text-web=libreoffice-writer.desktop;
+application/vnd.openofficeorg.extension=libreoffice-startcenter.desktop;xarchiver.desktop;
+application/vnd.openxmlformats-officedocument.presentationml.presentation=libreoffice-impress.desktop;
+application/vnd.openxmlformats-officedocument.presentationml.slide=libreoffice-impress.desktop;
+application/vnd.openxmlformats-officedocument.presentationml.slideshow=libreoffice-impress.desktop;
+application/vnd.openxmlformats-officedocument.presentationml.template=libreoffice-impress.desktop;
+application/vnd.openxmlformats-officedocument.spreadsheetml.sheet=libreoffice-calc.desktop;
+application/vnd.openxmlformats-officedocument.spreadsheetml.template=libreoffice-calc.desktop;
+application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop;
+application/vnd.openxmlformats-officedocument.wordprocessingml.template=libreoffice-writer.desktop;
+application/vnd.palm=libreoffice-writer.desktop;
+application/vnd.rar=xarchiver.desktop;
+application/vnd.rn-realmedia=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+application/vnd.rn-realmedia-vbr=mpv.desktop;vlc.desktop;
+application/vnd.snap=xarchiver.desktop;
+application/vnd.squashfs=xarchiver.desktop;
+application/vnd.stardivision.writer-global=libreoffice-writer.desktop;
+application/vnd.sun.xml.calc=libreoffice-calc.desktop;
+application/vnd.sun.xml.calc.template=libreoffice-calc.desktop;
+application/vnd.sun.xml.draw=libreoffice-draw.desktop;
+application/vnd.sun.xml.draw.template=libreoffice-draw.desktop;
+application/vnd.sun.xml.impress=libreoffice-impress.desktop;
+application/vnd.sun.xml.impress.template=libreoffice-impress.desktop;
+application/vnd.sun.xml.math=libreoffice-math.desktop;
+application/vnd.sun.xml.writer=libreoffice-writer.desktop;
+application/vnd.sun.xml.writer.global=libreoffice-writer.desktop;
+application/vnd.sun.xml.writer.template=libreoffice-writer.desktop;
+application/vnd.visio=libreoffice-draw.desktop;
+application/vnd.wordperfect=libreoffice-writer.desktop;
+application/wordperfect=libreoffice-writer.desktop;
+application/x-123=libreoffice-calc.desktop;
+application/x-7z-compressed=xarchiver.desktop;
+application/x-abiword=libreoffice-writer.desktop;
+application/x-aportisdoc=libreoffice-writer.desktop;
+application/x-archive=xarchiver.desktop;
+application/x-arj=xarchiver.desktop;
+application/x-bzdvi=atril.desktop;
+application/x-bzip=xarchiver.desktop;
+application/x-bzip-compressed-tar=xarchiver.desktop;
+application/x-bzpdf=atril.desktop;
+application/x-bzpostscript=atril.desktop;
+application/x-cb7=atril.desktop;
+application/x-cbr=atril.desktop;
+application/x-cbt=atril.desktop;
+application/x-cbz=atril.desktop;
+application/x-cd-image=vlc.desktop;xarchiver.desktop;xfburn.desktop;
+application/x-compress=xarchiver.desktop;
+application/x-compressed-tar=xarchiver.desktop;
+application/x-cpio=xarchiver.desktop;
+application/x-cpio-compressed=xarchiver.desktop;
+application/x-cue=mpv.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;
+application/x-dbase=libreoffice-calc.desktop;
+application/x-dbf=libreoffice-calc.desktop;
+application/x-desktop=panel-desktop-handler.desktop;
+application/x-doc=libreoffice-writer.desktop;
+application/x-dos_ms_excel=libreoffice-calc.desktop;
+application/x-dvi=atril.desktop;
+application/x-excel=libreoffice-calc.desktop;
+application/x-extension-m4a=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+application/x-extension-mp4=vlc.desktop;
+application/x-extension-txt=libreoffice-writer.desktop;
+application/x-fictionbook+xml=libreoffice-writer.desktop;
+application/x-flac=io.github.quodlibet.QuodLibet.desktop;org.xfce.Parole.desktop;vlc.desktop;
+application/x-flash-video=org.xfce.Parole.desktop;vlc.desktop;
+application/x-gzdvi=atril.desktop;
+application/x-gzpdf=atril.desktop;
+application/x-gzpostscript=atril.desktop;
+application/x-hwp=libreoffice-writer.desktop;
+application/x-iwork-keynote-sffkey=libreoffice-impress.desktop;
+application/x-iwork-numbers-sffnumbers=libreoffice-calc.desktop;
+application/x-iwork-pages-sffpages=libreoffice-writer.desktop;
+application/x-java-archive=xarchiver.desktop;
+application/x-lha=xarchiver.desktop;
+application/x-lrzip=xarchiver.desktop;
+application/x-lrzip-compressed-tar=xarchiver.desktop;
+application/x-lz4=xarchiver.desktop;
+application/x-lz4-compressed-tar=xarchiver.desktop;
+application/x-lzip=xarchiver.desktop;
+application/x-lzip-compressed-tar=xarchiver.desktop;
+application/x-lzma=xarchiver.desktop;
+application/x-lzma-compressed-tar=xarchiver.desktop;
+application/x-lzop=xarchiver.desktop;
+application/x-matroska=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+application/x-mpegurl=mpv.desktop;
+application/x-ms-excel=libreoffice-calc.desktop;
+application/x-msexcel=libreoffice-calc.desktop;
+application/x-mswrite=libreoffice-writer.desktop;
+application/x-netshow-channel=org.xfce.Parole.desktop;
+application/x-ogg=mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+application/x-ogm=mpv.desktop;
+application/x-ogm-audio=mpv.desktop;
+application/x-ogm-video=mpv.desktop;
+application/x-pagemaker=libreoffice-draw.desktop;
+application/x-pem-file=gcr-viewer.desktop;
+application/x-pem-key=gcr-viewer.desktop;
+application/x-pkcs12=gcr-viewer.desktop;
+application/x-pkcs7-certificates=gcr-viewer.desktop;
+application/x-quattropro=libreoffice-calc.desktop;
+application/x-quicktime-media-link=org.xfce.Parole.desktop;vlc.desktop;
+application/x-quicktimeplayer=org.xfce.Parole.desktop;vlc.desktop;
+application/x-rar=xarchiver.desktop;
+application/x-remmina=org.remmina.Remmina-file.desktop;org.remmina.Remmina.desktop;
+application/x-rpm=xarchiver.desktop;
+application/x-shellscript=gvim.desktop;vim.desktop;
+application/x-shockwave-flash=vlc.desktop;
+application/x-shorten=mpv.desktop;org.xfce.Parole.desktop;
+application/x-smil=mpv.desktop;org.xfce.Parole.desktop;
+application/x-sony-bbeb=libreoffice-writer.desktop;
+application/x-source-rpm=xarchiver.desktop;
+application/x-spkac=gcr-viewer.desktop;
+application/x-spkac+base64=gcr-viewer.desktop;
+application/x-starcalc=libreoffice-calc.desktop;
+application/x-stardraw=libreoffice-draw.desktop;
+application/x-starwriter=libreoffice-writer.desktop;
+application/x-streamingmedia=mpv.desktop;
+application/x-t602=libreoffice-writer.desktop;
+application/x-tar=xarchiver.desktop;
+application/x-tarz=xarchiver.desktop;
+application/x-tzo=xarchiver.desktop;
+application/x-virt-viewer=remote-viewer.desktop;
+application/x-wpg=libreoffice-draw.desktop;
+application/x-x509-ca-cert=gcr-viewer.desktop;
+application/x-x509-user-cert=gcr-viewer.desktop;
+application/x-xpinstall=xarchiver.desktop;
+application/x-xpraconfig=xpra-launcher.desktop;
+application/x-xz=xarchiver.desktop;
+application/x-xz-compressed-tar=xarchiver.desktop;
+application/x-xzpdf=atril.desktop;
+application/x-zstd-compressed-tar=xarchiver.desktop;
+application/xhtml+xml=firefox-esr.desktop;
+application/xml=firefox-esr.desktop;
+application/xspf+xml=org.xfce.Parole.desktop;vlc.desktop;
+application/zip=xarchiver.desktop;
+application/zstd=xarchiver.desktop;
+audio/3gpp=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+audio/3gpp2=mpv.desktop;vlc.desktop;
+audio/AMR=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+audio/AMR-WB=org.xfce.Parole.desktop;vlc.desktop;
+audio/aac=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/ac3=vlc.desktop;
+audio/aiff=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;
+audio/amr-wb=mpv.desktop;
+audio/basic=org.xfce.Parole.desktop;vlc.desktop;
+audio/dsf=io.github.quodlibet.QuodLibet.desktop;
+audio/dv=mpv.desktop;vlc.desktop;
+audio/eac3=mpv.desktop;vlc.desktop;
+audio/flac=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/m3u=mpv.desktop;
+audio/m4a=mpv.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/midi=qmmp-1.desktop;vlc.desktop;
+audio/mp1=mpv.desktop;vlc.desktop;
+audio/mp2=qmmp-1.desktop;vlc.desktop;
+audio/mp3=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/mp4=vlc.desktop;
+audio/mpeg=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/mpeg2=mpv.desktop;
+audio/mpeg3=mpv.desktop;
+audio/mpeg4=io.github.quodlibet.QuodLibet.desktop;
+audio/mpegurl=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+audio/mpg=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;vlc.desktop;
+audio/musepack=mpv.desktop;
+audio/ogg=qmmp-1.desktop;vlc.desktop;
+audio/opus=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/prs.sid=org.xfce.Parole.desktop;
+audio/rn-mpeg=mpv.desktop;
+audio/scpls=mpv.desktop;vlc.desktop;
+audio/vnd.dolby.heaac.1=mpv.desktop;vlc.desktop;
+audio/vnd.dolby.heaac.2=mpv.desktop;vlc.desktop;
+audio/vnd.dolby.mlp=vlc.desktop;
+audio/vnd.dts=mpv.desktop;vlc.desktop;
+audio/vnd.dts.hd=mpv.desktop;vlc.desktop;
+audio/vnd.rn-realaudio=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+audio/vorbis=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;vlc.desktop;
+audio/wav=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;vlc.desktop;
+audio/wave=io.github.quodlibet.QuodLibet.desktop;
+audio/webm=mpv.desktop;vlc.desktop;
+audio/x-aac=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/x-adpcm=mpv.desktop;vlc.desktop;
+audio/x-aiff=vlc.desktop;
+audio/x-ape=mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/x-ffmpeg-shorten=qmmp-1.desktop;qmmp-enqueue-1.desktop;
+audio/x-flac=qmmp-1.desktop;vlc.desktop;
+audio/x-gsm=org.xfce.Parole.desktop;vlc.desktop;
+audio/x-it=org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/x-m4a=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/x-matroska=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+audio/x-midi=io.github.quodlibet.QuodLibet.desktop;
+audio/x-mod=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/x-mp1=mpv.desktop;vlc.desktop;
+audio/x-mp2=mpv.desktop;vlc.desktop;
+audio/x-mp3=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/x-mpc=io.github.quodlibet.QuodLibet.desktop;
+audio/x-mpeg=io.github.quodlibet.QuodLibet.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/x-mpegurl=mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/x-mpg=mpv.desktop;vlc.desktop;
+audio/x-ms-asf=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+audio/x-ms-asx=org.xfce.Parole.desktop;vlc.desktop;
+audio/x-ms-wax=org.xfce.Parole.desktop;vlc.desktop;
+audio/x-ms-wma=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/x-ms-wmv=io.github.quodlibet.QuodLibet.desktop;
+audio/x-musepack=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/x-oggflac=io.github.quodlibet.QuodLibet.desktop;
+audio/x-pls=mpv.desktop;
+audio/x-pn-aiff=org.xfce.Parole.desktop;vlc.desktop;
+audio/x-pn-au=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+audio/x-pn-realaudio=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+audio/x-pn-realaudio-plugin=org.xfce.Parole.desktop;vlc.desktop;
+audio/x-pn-wav=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+audio/x-pn-windows-acm=org.xfce.Parole.desktop;vlc.desktop;
+audio/x-pn-windows-pcm=mpv.desktop;
+audio/x-real-audio=org.xfce.Parole.desktop;vlc.desktop;
+audio/x-realaudio=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+audio/x-s3m=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/x-sbc=org.xfce.Parole.desktop;
+audio/x-scpls=mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/x-shorten=mpv.desktop;vlc.desktop;
+audio/x-speex=io.github.quodlibet.QuodLibet.desktop;org.xfce.Parole.desktop;vlc.desktop;
+audio/x-stm=org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;
+audio/x-tta=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/x-vorbis=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+audio/x-vorbis+ogg=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/x-wav=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
+audio/x-wavpack=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+audio/x-wma=io.github.quodlibet.QuodLibet.desktop;
+audio/x-xm=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
+image/*=atril.desktop;
+image/avif=org.xfce.ristretto.desktop;
+image/bmp=org.xfce.ristretto.desktop;
+image/g3fax=gimp.desktop;
+image/gif=org.xfce.ristretto.desktop;
+image/heic=gimp.desktop;
+image/heif=org.xfce.ristretto.desktop;
+image/jp2=gimp.desktop;
+image/jpeg=org.xfce.ristretto.desktop;
+image/jxl=gimp.desktop;
+image/png=org.xfce.ristretto.desktop;
+image/svg+xml=org.xfce.ristretto.desktop;
+image/tiff=org.xfce.ristretto.desktop;
+image/vnd.djvu=atril.desktop;
+image/vnd.djvu+multipage=atril.desktop;
+image/vnd.rn-realpix=org.xfce.Parole.desktop;vlc.desktop;
+image/webp=firefox-esr.desktop;
+image/x-bzeps=atril.desktop;
+image/x-compressed-xcf=gimp.desktop;
+image/x-emf=libreoffice-draw.desktop;
+image/x-eps=atril.desktop;
+image/x-exr=gimp.desktop;
+image/x-fits=gimp.desktop;
+image/x-freehand=libreoffice-draw.desktop;
+image/x-gimp-gbr=gimp.desktop;
+image/x-gimp-gih=gimp.desktop;
+image/x-gimp-pat=gimp.desktop;
+image/x-gzeps=atril.desktop;
+image/x-icon=gimp.desktop;
+image/x-pcx=gimp.desktop;
+image/x-pict=org.xfce.Parole.desktop;
+image/x-pixmap=org.xfce.ristretto.desktop;
+image/x-portable-anymap=gimp.desktop;
+image/x-portable-bitmap=gimp.desktop;
+image/x-portable-graymap=gimp.desktop;
+image/x-portable-pixmap=gimp.desktop;
+image/x-psd=gimp.desktop;
+image/x-psp=gimp.desktop;
+image/x-sgi=gimp.desktop;
+image/x-sun-raster=gimp.desktop;
+image/x-tga=gimp.desktop;
+image/x-webp=gimp.desktop;
+image/x-wmf=gimp.desktop;libreoffice-draw.desktop;
+image/x-xbitmap=gimp.desktop;
+image/x-xcf=gimp.desktop;
+image/x-xcursor=gimp.desktop;
+image/x-xpixmap=gimp.desktop;org.xfce.ristretto.desktop;
+image/x-xwindowdump=gimp.desktop;
+inode/directory=thunar.desktop;
+misc/ultravox=org.xfce.Parole.desktop;vlc.desktop;
+text/comma-separated-values=libreoffice-calc.desktop;
+text/csv=libreoffice-calc.desktop;
+text/english=gvim.desktop;vim.desktop;
+text/google-video-pointer=org.xfce.Parole.desktop;vlc.desktop;
+text/html=firefox-esr.desktop;
+text/mathml=libreoffice-math.desktop;
+text/plain=gvim.desktop;libreoffice-writer.desktop;org.xfce.mousepad.desktop;vim.desktop;
+text/rtf=libreoffice-writer.desktop;
+text/spreadsheet=libreoffice-calc.desktop;
+text/tab-separated-values=libreoffice-calc.desktop;
+text/x-c=gvim.desktop;vim.desktop;
+text/x-c++=gvim.desktop;vim.desktop;
+text/x-c++hdr=gvim.desktop;vim.desktop;
+text/x-c++src=gvim.desktop;vim.desktop;
+text/x-chdr=gvim.desktop;vim.desktop;
+text/x-comma-separated-values=libreoffice-calc.desktop;
+text/x-csrc=gvim.desktop;vim.desktop;
+text/x-csv=libreoffice-calc.desktop;
+text/x-google-video-pointer=org.xfce.Parole.desktop;vlc.desktop;
+text/x-java=gvim.desktop;vim.desktop;
+text/x-makefile=gvim.desktop;vim.desktop;
+text/x-moc=gvim.desktop;vim.desktop;
+text/x-pascal=gvim.desktop;vim.desktop;
+text/x-tcl=gvim.desktop;vim.desktop;
+text/x-tex=gvim.desktop;vim.desktop;
+text/xml=firefox-esr.desktop;
+video/3gp=vlc.desktop;
+video/3gpp=vlc.desktop;
+video/3gpp2=vlc.desktop;
+video/avi=vlc.desktop;
+video/divx=vlc.desktop;
+video/dv=vlc.desktop;
+video/fli=vlc.desktop;
+video/flv=vlc.desktop;
+video/mkv=vlc.desktop;
+video/mp2t=vlc.desktop;
+video/mp4=vlc.desktop;
+video/mp4v-es=vlc.desktop;
+video/mpeg=vlc.desktop;
+video/mpeg-system=vlc.desktop;
+video/msvideo=vlc.desktop;
+video/ogg=vlc.desktop;
+video/quicktime=vlc.desktop;
+video/vivo=org.xfce.Parole.desktop;
+video/vnd.divx=vlc.desktop;
+video/vnd.mpegurl=vlc.desktop;
+video/vnd.rn-realvideo=vlc.desktop;
+video/vnd.vivo=org.xfce.Parole.desktop;
+video/webm=vlc.desktop;
+video/x-anim=vlc.desktop;
+video/x-avi=vlc.desktop;
+video/x-flc=vlc.desktop;
+video/x-fli=vlc.desktop;
+video/x-flic=mpv.desktop;org.xfce.Parole.desktop;
+video/x-flv=vlc.desktop;
+video/x-m4v=vlc.desktop;
+video/x-matroska=vlc.desktop;
+video/x-mpeg=vlc.desktop;
+video/x-mpeg-system=vlc.desktop;
+video/x-mpeg2=vlc.desktop;
+video/x-mpeg3=mpv.desktop;
+video/x-ms-afs=mpv.desktop;
+video/x-ms-asf=vlc.desktop;
+video/x-ms-asf-plugin=vlc.desktop;
+video/x-ms-asx=vlc.desktop;
+video/x-ms-wm=vlc.desktop;
+video/x-ms-wmv=vlc.desktop;
+video/x-ms-wmx=vlc.desktop;
+video/x-ms-wvx=vlc.desktop;
+video/x-ms-wvxvideo=mpv.desktop;
+video/x-msvideo=vlc.desktop;
+video/x-nsv=vlc.desktop;
+video/x-ogm=vlc.desktop;
+video/x-ogm+ogg=vlc.desktop;
+video/x-theora=vlc.desktop;
+video/x-theora+ogg=vlc.desktop;
+video/x-totem-stream=org.xfce.Parole.desktop;
+video/x-wmv=io.github.quodlibet.QuodLibet.desktop;
+x-content/audio-cdda=vlc.desktop;
+x-content/audio-player=vlc.desktop;
+x-content/blank-cd=xfburn.desktop;
+x-content/video-dvd=org.xfce.Parole.desktop;vlc.desktop;
+x-content/video-svcd=org.xfce.Parole.desktop;vlc.desktop;
+x-content/video-vcd=org.xfce.Parole.desktop;vlc.desktop;
+x-scheme-handler/http=firefox-esr.desktop;
+x-scheme-handler/https=firefox-esr.desktop;
+x-scheme-handler/icy=vlc.desktop;
+x-scheme-handler/icyx=vlc.desktop;
+x-scheme-handler/mailto=mutt.desktop;
+x-scheme-handler/mms=org.xfce.Parole.desktop;vlc.desktop;
+x-scheme-handler/mmsh=org.xfce.Parole.desktop;vlc.desktop;
+x-scheme-handler/ms-access=libreoffice-startcenter.desktop;
+x-scheme-handler/ms-excel=libreoffice-startcenter.desktop;
+x-scheme-handler/ms-powerpoint=libreoffice-startcenter.desktop;
+x-scheme-handler/ms-visio=libreoffice-startcenter.desktop;
+x-scheme-handler/ms-word=libreoffice-startcenter.desktop;
+x-scheme-handler/quodlibet=io.github.quodlibet.QuodLibet.desktop;
+x-scheme-handler/rdp=org.remmina.Remmina-file.desktop;org.remmina.Remmina.desktop;
+x-scheme-handler/remmina=org.remmina.Remmina-file.desktop;org.remmina.Remmina.desktop;
+x-scheme-handler/rtmp=vlc.desktop;
+x-scheme-handler/rtp=vlc.desktop;
+x-scheme-handler/rtsp=vlc.desktop;
+x-scheme-handler/spice=org.remmina.Remmina-file.desktop;org.remmina.Remmina.desktop;remote-viewer.desktop;
+x-scheme-handler/spice+tls=remote-viewer.desktop;
+x-scheme-handler/spice+unix=remote-viewer.desktop;
+x-scheme-handler/ssh=org.remmina.Remmina.desktop;
+x-scheme-handler/vnc=org.remmina.Remmina-file.desktop;org.remmina.Remmina.desktop;
+x-scheme-handler/vnd.libreoffice.cmis=libreoffice-startcenter.desktop;
+x-scheme-handler/vnd.libreoffice.command=libreoffice-startcenter.desktop;
+x-scheme-handler/vnd.sun.star.webdav=libreoffice-startcenter.desktop;
+x-scheme-handler/vnd.sun.star.webdavs=libreoffice-startcenter.desktop;
+x-scheme-handler/xpra=xpra.desktop;
+x-scheme-handler/xpra+ssh=xpra.desktop;
+x-scheme-handler/xpra+ssl=xpra.desktop;
+x-scheme-handler/xpra+tcp=xpra.desktop;
+x-scheme-handler/xpra+tls=xpra.desktop;
+x-scheme-handler/xpra+ws=xpra.desktop;
+x-scheme-handler/xpra+wss=xpra.desktop;
+x-scheme-handler/xpras=xpra.desktop;
sudo rm -vf ~/immudex-testing/${arch}/chroot/base.sh >> immudex_build.log 2>&1;
if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi
-#versionsList=$(ls -v ~/Pobrane/immudex/versions --hide=base.sh | awk '{printf $1" "}');
-#for i in $versionsList; do
-# echo -n "Executing version script: $i ...";
-# sudo cp -v ~/Pobrane/immudex/versions/${i} ~/immudex/${arch}/chroot >> ~/immudex_build.log 2>&1;
-# sudo chroot ~/immudex/${arch}/chroot /bin/bash $i;
-# sudo rm -vf ~/immudex/${arch}/chroot/${i} >> ~/immudex_build.log 2>&1;
-# if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi
-#done
+versionsList=$(ls -v ~/Pobrane/immudex-testing/versions --hide=base.sh --hide=100.sh | awk '{printf $1" "}');
+for i in $versionsList; do
+ echo -n "Executing version script: $i ...";
+ sudo cp -v ~/Pobrane/immudex-testing/versions/${i} ~/immudex-testing/${arch}/chroot >> ~/immudex_build.log 2>&1;
+ sudo chroot ~/immudex-testing/${arch}/chroot /bin/bash $i;
+ sudo rm -vf ~/immudex-testing/${arch}/chroot/${i} >> ~/immudex_build.log 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi
+done
#Creating LiveCD directory structure:
echo -n "Creating LiveCD directory structure...";
echo " -s - format krótki (aktualna pogoda)";
echo " -l - format długi (format krótki + 2 dniowa prognoza)"
echo "Użycie:";
- echo "$ meteo <miasto>";
+ echo "$ meteo <-s/-l> <miasto>";
}
if [ "$1" ]; then
--- /dev/null
+#!/bin/bash
+
+file=$1;
+
+function help() {
+ echo "pl - Play Links. Skrypt to odtwarzania multimediów z listy linków";
+ echo "morketsmerke.org; COPYLEFT; 2023";
+ echo;
+ echo "Użycie:";
+ echo "$ pl sciezka/do/listy/linkow";
+ echo;
+ echo "Format listy:";
+ echo "nazwa linku: https://youtube.com/...";
+}
+
+if [ "$1" ]; then
+ PS3="Link: ";
+ linkNames=$(cut -d ":" -f 1 $1 | sed 's/\ /_/g' | awk '{printf $1" "}')
+ select name in $linkNames; do
+ if [ ! "$name" ]; then break; fi
+ linkName=$(echo $name | sed 's/_/\ /g');
+ link=$(grep "$linkName" $file | cut -d ":" -f 2-);
+ if echo $link | grep -q "youtube"; then
+ ytplay -a $link -f best[height=360];
+ else
+ mpv --no-video $link;
+ fi
+ done
+else
+ help;
+ exit 1;
+fi
--- /dev/null
+#!/bin/bash
+
+vendor=$(hostnamectl | grep 'Vendor' | awk '{printf $3}')
+modelLine=$(hostnamectl | grep 'Model' | awk '{printf $3}')
+model=$(hostnamectl | grep 'Model' | awk '{printf $4}')
+
+case $vendor in
+ "Lenovo") vendorShort="l";;
+ "Dell") vendorShort="d";;
+ "Acer") vendorShort="a";;
+ "ASUSTeK") vendorShort="as";;
+ "GOOGLE") vendorShort="go";;
+ "QEMU") vendorShort="kvm";;
+ *) hName="immudex";;
+esac
+
+case $modelLine in
+ "ThinkPad") mLShort="TP";;
+ "Latitude") mLShort="Lat";;
+ "AOD260") mLShort="ao";
+ model="D260";;
+ "Candy") vendorShort="d";
+ mLShort="chrbook";
+ model="3120";;
+ "Inspiron") mLShort="Ins";;
+ "Standard") if [ $vendorShort = "kvm" ]; then
+ mLShort=$(hostnamectl | grep 'Machine ID' | awk '{print $3}' | cut -c 26-33);
+ model="";
+ else
+ mlShort="Std";
+ fi;;
+ *) hName="immudex";;
+esac
+
+if [ ! "$hName" ]; then
+ hName="${vendorShort}-${mLShort}-$model"
+ sudo hostnamectl set-hostname $hName;
+ sudo sed -i "s/immudex/${hName}/" /etc/hosts;
+ echo $hName | sudo tee /etc/hostname > /dev/null;
+fi
+
--- /dev/null
+#!/bin/bash
+
+if [ "$1" ] && [ $1 = "--video" ]; then
+ video=1;
+ shift;
+ if [ $# -gt 1 ]; then format="--ytdl-format=$1"; shift; file=$1;
+ else format="--ytdl-forma=best"; file=$1; fi
+else
+ file=$1;
+fi
+
+function help() {
+ echo "pl - Play Links. Skrypt to odtwarzania multimediów z listy linków";
+ echo "morketsmerke.org; COPYLEFT; 2023";
+ echo;
+ echo "Opcje:";
+ echo;
+ echo -e "\t--video [format] - możliwość odtwarzania linków jako filmów. Format";
+ echo -e "\tjest opcjonalny, w przypadku jego braku, domyślnym formatem jest";
+ echo -e "\t'best'.";
+ echo;
+ echo "Użycie:";
+ echo -e "\t$ pl sciezka/do/listy/linkow";
+ echo;
+ echo "Format listy:";
+ echo -e "\tnazwa linku: https://youtube.com/...";
+}
+if [ "$1" ]; then
+ PS3="Link: ";
+ linkNames=$(cut -d ":" -f 1 $1 | sed 's/\ /_/g' | awk '{printf $1" "}')
+ select name in $linkNames; do
+ if [ "$MPVPID" ]; then kill $MPVPID; fi
+ if [ ! "$name" ]; then break; fi
+ link=$(grep "$name" $file | cut -d ":" -f 2-);
+ if [ ! "$link" ]; then
+ linkName=$(echo $name | sed 's/_/\ /g');
+ link=$(grep "$linkName" $file | cut -d ":" -f 2-);
+ fi
+ if echo $link | grep -q "youtube"; then
+ if [ "$video" ]; then
+ #ytplay -v $link -f $format
+ mpv $format ytdl://$link > /dev/null 2>&1 & MPVPID=$!
+ else
+ #ytplay -a $link -f best[height=360]
+ format="--no-video --ytdl-format=best[height=360]";
+ mpv $format ytdl://$link > /dev/null 2>&1 & MPVPID=$!
+ fi
+ else
+ mpv --no-video $link > /tmp/pl.log 2>&1 & MPVPID=$!;
+ tail -f /tmp/pl.log | grep "icy-title" &
+ fi
+ #echo "MPV: $MPVPID";
+ done
+else
+ help;
+ exit 1;
+fi
--- /dev/null
+#!/bin/bash
+
+function help() {
+ echo "newsfeed - fetch and browse news feed from rss and atom channels";
+ echo "morketsmerke.net; COPYLEFT @ 2022";
+ echo;
+ echo "Options:";
+ echo " --list - shows numbered list of names, saved in ~/.newsfeed names and";
+ echo " URL of rss channels";
+ echo " --check - fetching new rss channel file from source";
+ echo " --show <number_of_channel> - shows numbered list of news titles.";
+ echo " Number of channel you can get from --list option.";
+ echo " --open <number_of_title> - open web browser on link, which are under";
+ echo " titles of news on rss channel. Number of title you can get";
+ echo " from --show option. This option based on the last showed rss";
+ echo " channel feed.";
+ echo;
+ echo "The ~/.newsfeed file:";
+ echo " This file is simple csv (semicolon separated values) file which";
+ echo " store rss channels in one line. One by one. The one line";
+ echo " contains: name and URL of rss feed. For example:";
+ echo;
+ echo " News Feed;https://newsfeed.example.org/rss";
+}
+if [ ! -s ~/.newsfeed ]; then
+ help;
+ exit 1;
+else
+ if [ ! "$1" ] || ([ "$1" != "--list" ] && \
+ [ "$1" != "--check" ] && \
+ [ "$1" != "--show" ] && \
+ [ "$1" != "--open" ]); then
+ help;
+ exit 1;
+ fi
+ amountOfSubscriptions=$(cat ~/.newsfeed | wc -l);
+ i=1;
+ while [ $i -le $amountOfSubscriptions ]; do
+ newsfeedLine=$(sed -n "${i}p" ~/.newsfeed);
+ nameOfSubscription=$(echo $newsfeedLine | cut -d ";" -f 1);
+ rssLink=$(echo $newsfeedLine | cut -d ";" -f 2);
+ if [ "$1" ] && [ "$1" = "--list" ]; then
+ echo -e "${i}. ${nameOfSubscription}";
+ elif [ "$1" ] && [ "$1" = "--check" ]; then
+ echo -e "${i}. ${nameOfSubscription}";
+ echo -n "Getting news feed...";
+ wget $rssLink -O /tmp/new_newsfeed_${i}.xml 2>/dev/null;
+ if [ $? -eq 0 ]; then echo "[ OK ]";
+ else echo -e "\nThere is no Internet connection"; exit 1; fi
+ if [ -s /tmp/newsfeed_${i}.xml ]; then
+ amountOfNewNewses=$(diff /tmp/new_newsfeed_${i}.xml /tmp/newsfeed_${i}.xml | grep '<title>' | wc -l);
+ if [ $amountOfNewNewses -gt 0 ]; then
+ notify-send "$nameOfSubscription" "New $amountOfNewNewses newses" --icon=/usr/share/icons/rss.png;
+ j=1;
+ sleep 1;
+ while [ $j -le $amountOfNewNewses ]; do
+ news=$(diff /tmp/new_newsfeed_${i}.xml /tmp/newsfeed_${i}.xml | \
+ grep '<title>' | sed -n "${j}p" | sed 's/<title>//' | \
+ sed 's/<\/title>//' | sed 's/[<>]//' | \
+ sed 's/^[[:space:]]*//g');
+ notify-send "newsfeed" "${nameOfSubscription}: ${news}" -t 10000 --icon=/usr/share/icons/rss.png;
+ sleep 1;
+ j=$((j + 1));
+ done
+ fi
+ mv /tmp/new_newsfeed_${i}.xml /tmp/newsfeed_${i}.xml;
+ else
+ mv /tmp/new_newsfeed_${i}.xml /tmp/newsfeed_${i}.xml;
+ amountOfNews=$(grep '<title>' /tmp/newsfeed_${i}.xml | sed -n '2,$p' | wc -l);
+ if [ $amountOfNews -eq 0 ]; then
+ compressed=1;
+ amountOfNews=$(sed 's/<\/title>/\n/g' /tmp/newsfeed_${i}.xml | sed 's/<item>/\n/g' | grep '<title>' | wc -l)
+ fi
+ notify-send "$nameOfSubscription" "New $amountOfNews newses" --icon=/usr/share/icons/rss.png;
+ fi
+ fi
+ i=$((i + 1));
+ done
+ if [ "$1" ] && [ "$1" = "--show" ] && [ "$2" ] && [ $2 -gt 0 ]; then
+
+ #Parsing
+ #Thanks to the linuxhint.com for command:
+ #sed 's/^[[:space]]*//g'
+ #https://linuxhint.com/trim_string_bash
+
+ if grep -q 'CDATA' /tmp/newsfeed_${2}.xml; then
+ #sed 's/<\/title>/\n/g' /tmp/newsfeed_${2}.xml | \
+ #sed 's/<item>/\n/g' | grep '<title>' | sed -n '2,$p' | \
+ #sed 's/<title>//' | sed 's/"/"/g' | \
+ #sed 's/<!\[CDATA\[//g' | sed 's/\]\]>//g' | \
+ #sed 's/^[[:space:]]*//g' | nl | less;
+ grep -e '<title>' -e '<description>' /tmp/newsfeed_${2}.xml |\
+ sed -n '3,$p' | sed -e 's/<title>//g' -e 's/<description>/>>>/g' |\
+ sed 's/&#[0-9]*;//g' | \
+ sed 's/"//g' | sed -e 's/<!\[CDATA\[//g' -e 's/\]\]>//g' |\
+ sed -e 's/<img.*br\/>/<obrazek>/g' -e 's/^[[:space:]]*//g' \
+ -e 's/<\/description>/\n/g' -e 's/<\/title>//g' | nl -b p^[[:alnum:]] | less
+ else
+ sed 's/<\/title>/\n/g' /tmp/newsfeed_${2}.xml | \
+ sed 's/<item>/\n/g' | grep '<title>' | sed -n '2,$p' | \
+ sed 's/<title>//' | sed 's/"/"/g' | \
+ sed 's/^[[:space:]]*//g' | nl | less;
+ fi
+ echo $2 > /tmp/lastShowedNewsFeed;
+ elif [ "$1" ] && [ "$1" = "--open" ] && [ "$2" ] && [ $2 -gt 0 ]; then
+ subscriptionNumber=$(cat /tmp/lastShowedNewsFeed);
+ if ! grep -q 'CDATA' /tmp/newsfeed_${subscriptionNumber}.xml; then
+ link=$(sed 's/<\/link>/\n/g' /tmp/newsfeed_${subscriptionNumber}.xml | sed 's/<\/title>/\n/g' | grep '<link>' | sed -n '2,$p' | sed 's/<link>//g' | sed -n "${2}p")
+ else
+ link=$(sed 's/<\/link>/\n/g' /tmp/newsfeed_${subscriptionNumber}.xml | sed 's/<\/description>/\n/g' | grep '<link>' | sed -n '2,$p' | sed 's/<link>//g' | sed -n "${2}p")
+ fi
+ exo-open --launch WebBrowser "$link";
+ fi
+fi
--- /dev/null
+#!/bin/bash
+
+if [ "$1" ] && [ $1 = "--video" ]; then
+ video=1;
+ shift;
+ if [ $# -gt 1 ]; then format="--ytdl-format=$1"; shift; file=$1;
+ else format="--ytdl-forma=best"; file=$1; fi
+else
+ file=$1;
+fi
+
+function help() {
+ echo "pl - Play Links. Skrypt to odtwarzania multimediów z listy linków";
+ echo "morketsmerke.org; COPYLEFT; 2023";
+ echo;
+ echo "Opcje:";
+ echo;
+ echo -e "\t--video [format] - możliwość odtwarzania linków jako filmów. Format";
+ echo -e "\tjest opcjonalny, w przypadku jego braku, domyślnym formatem jest";
+ echo -e "\t'best'.";
+ echo;
+ echo "Użycie:";
+ echo -e "\t$ pl sciezka/do/listy/linkow";
+ echo;
+ echo "Format listy:";
+ echo -e "\tnazwa linku: https://youtube.com/...";
+}
+if [ "$1" ]; then
+ PS3="Link: ";
+ linkNames=$(cut -d ":" -f 1 $1 | sed 's/\ /_/g' | awk '{printf $1" "}')
+ select name in $linkNames; do
+ if [ "$MPVPID" ]; then kill $MPVPID; fi
+ if [ ! "$name" ]; then break; fi
+ link=$(grep "$name" $file | cut -d ":" -f 2-);
+ if [ ! "$link" ]; then
+ linkName=$(echo $name | sed 's/_/\ /g');
+ link=$(grep "$linkName" $file | cut -d ":" -f 2-);
+ fi
+ if echo $link | grep -q "youtube"; then
+ link=$(echo $link | sed 's/\ //g');
+ if [ "$video" ]; then
+ #ytplay -v $link -f $format
+ mpv $format ytdl://$link > /dev/null 2>&1 & MPVPID=$!
+ else
+ #ytplay -a $link -f best[height=360]
+ format="--no-video --ytdl-format=best[height=360]";
+ mpv $format ytdl://$link > /dev/null 2>&1 & MPVPID=$!
+ fi
+ else
+ mpv --no-video $link > /tmp/pl.log 2>&1 & MPVPID=$!;
+ tail -f /tmp/pl.log | grep "icy-title" &
+ fi
+ #echo "MPV: $MPVPID";
+ done
+else
+ help;
+ exit 1;
+fi
--- /dev/null
+#!/bin/bash
+
+GREEN="\e[32m";
+YELLOW="\e[33m";
+ENDCOLOR="\e[0m";
+
+function help() {
+ echo "create_media - script used for write iso image to usb drive(mainly)";
+ echo "morketsmerke.net COPYLEFT @ 2022";
+ echo "Options:";
+ echo " --i386-efi - creating 32-bit EFI usb drive with iso image";
+ echo " (comapatible with immudex only iso images)";
+ echo " --nuke - write 0 to 1st megabyte of disk";
+ echo "Usage:";
+ echo " $ create_media [--i386-efi] [--nuke] <usb_disk> [iso_image]";
+}
+
+if [ "$1" ] && [ "$1" = "--i386-efi" ]; then target="i386-efi"; shift; fi
+if [ "$1" ] && [ "$1" = "--nuke" ]; then target="nuke"; shift; fi
+if [ "$1" ] && echo $1 | grep -Eq '/dev/(sd[a-z]|vd[a-z]|mmcblk[0-9])'; then
+ disk=$1; shift;
+else
+ help;
+ exit 1;
+fi
+if [ ! "$target" ] || [ "$target" != "nuke" ]; then
+ if [ "$1" ] && file $1 | grep -q 'ISO 9660'; then
+ iso=$1;
+ else
+ help;
+ exit 1;
+ fi
+fi
+
+if [ "$target" = "i386-efi" ]; then
+ echo -n "Writing zeros to 1st megabyte on disk...";
+ sudo dd if=/dev/zero bs=1M of=$disk count=1 > /dev/null 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]"; fi
+
+ echo -n "Creating MS-DOS partitionig scheme on disk...";
+ sudo parted $disk mklabel msdos > /dev/null 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]"; fi
+
+ echo -n "Creating FAT-32 partition...";
+ sudo parted $disk mkpart primary fat32 1 100%Free > /dev/null 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]"; fi
+
+ echo -n "Creating VFAT filesystem on partition...";
+ sudo mkfs.vfat ${disk}1 > /dev/null 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]"; fi
+
+ echo -n "Creating /mnt/usb directory...";
+ sudo mkdir /mnt/usb > /dev/null 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]";
+ else echo -e "[${YELLOW}Directory exist!${ENDCOLOR}]"; fi
+
+ echo -n "Mounting VFAT partition on /mnt/usb...";
+ sudo mount ${disk}1 /mnt/usb > /dev/null 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]"; fi
+
+ echo -n "Instalation GRUB on disk...";
+ sudo grub-install --target=i386-efi --efi-directory=/mnt/usb --boot-directory=/mnt/usb/boot --bootloader-id=boot --removable > /dev/null 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]"; fi
+
+ echo -n "Creating /mnt/iso directory...";
+ sudo mkdir /mnt/iso > /dev/null 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]";
+ else echo -e "[${YELLOW}Directory exist!${ENDCOLOR}]"; fi
+
+ echo -n "Mounting iso file on /mnt/iso...";
+ sudo mount $iso /mnt/iso > /dev/null 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]"; fi
+
+ echo -n "Copying grub config files to the disk...";
+ sudo cp /mnt/iso/boot/grub/font.pf2 /mnt/usb/boot/grub > /dev/null 2>&1;
+ sudo cp /mnt/iso/boot/grub/grub.cfg /mnt/usb/boot/grub > /dev/null 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]"; fi
+
+ echo -n "Copying immudex files to the disk...";
+ sudo cp -r /mnt/iso/live /mnt/usb > /dev/null 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]"; fi
+
+ echo -n "Creating empty DEBIAN file...";
+ sudo touch /mnt/usb/DEBIAN > /dev/null 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]"; fi
+
+ echo -n "Umounting all mounted filesystems...";
+ sudo umount /mnt/* > /dev/null 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]"; fi
+
+elif [ "$target" = "nuke" ]; then
+ echo -n "Writing zeros to 1st megabyte on disk...";
+ sudo dd if=/dev/zero bs=1M of=$disk count=1 > /dev/null 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]"; fi
+
+else
+ echo -n "Writing zeros to 1st megabyte on disk...";
+ sudo dd if=/dev/zero bs=1M of=$disk count=1 > /dev/null 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]"; fi
+
+ echo -n "Writing iso image to the disk..."
+ sudo dd if=$iso bs=1M of=$disk > /dev/null 2>&1;
+ if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]"; fi
+fi
--- /dev/null
+#!/bin/bash
+
+bootID=$(sed 's/-//g' /proc/sys/kernel/random/boot_id | cut -c 26-33);
+if hostnamectl > /dev/null 2>&1; then
+ hName="$(hostnamectl | grep 'Chassis' | cut -d ":" -f 2 | awk '{printf $1}')-${bootID}";
+else
+ hName="$(sudo dmidecode -s chassis-type | head -1 | tr [A-Z] [a-z])-${bootID}";
+fi
+
+sudo hostnamectl set-hostname $hName;
+sudo sed -i "s/immudex/${hName}/g" /etc/hosts;
+echo $hName | sudo tee /etc/hostname > /dev/null;
cp -vv ~/immudex-testing/tools/${VERSION}/immudex_hostname /usr/local/bin;
cp -vv ~/immudex-testing/tools/${VERSION}/meteo /usr/local/bin;
cp -vv ~/immudex-testing/tools/${VERSION}/ytplay /usr/local/bin;
+cp -vv ~/immudex-testing/tools/${VERSION}/pl /usr/local/bin;
cp -vv ~/immudex-testing/files/${VERSION}/immudex_hostname.service /etc/systemd/system;
systemctl enable immudex_hostname.service;
cp -rvv /etc/skel/.??* /home/user;
cp -rvv /etc/skel/?* /home/user;
mkdir /home/user/.local;
- tar -xvf ~/immudex-testing/files/${VERSION}/local_user.tar -C /home/user/.local;
+ tar -xvf ~/immudex-testing/files/017/local_user.tar -C /home/user/.local;
rm /home/user/.face;
cp /usr/share/images/desktop-base/immudex_xfce_greeter_logo.png /home/user/.face;
chown -R user:user /home/user;
cp -rvv /etc/skel/.??* /home/xf0r3m;
cp -rvv /etc/skel/?* /home/xf0r3m;
mkdir /home/xf0r3m/.local;
- tar -xvf ~/immudex-testing/files/${VERSION}/local_xf0r3m.tar -C /home/xf0r3m/.local;
+ tar -xvf ~/immudex-testing/files/017/local_xf0r3m.tar -C /home/xf0r3m/.local;
rm /home/xf0r3m/.face;
cp /usr/share/images/desktop-base/immudex_xfce_greeter_logo.png /home/xf0r3m/.face;
chown -R xf0r3m:xf0r3m /home/xf0r3m;
}
function set_notifier_packages() {
- cp -vv ~/immudex-testing/files/${VERSION}/Notifier\ -\ packages.desktop /home/xf0r3m/.config/autostart;
+ cp -vv ~/immudex-testing/files/011/Notifier\ -\ packages.desktop /home/xf0r3m/.config/autostart;
chown xf0r3m:xf0r3m /home/xf0r3m/.config/autostart/Notifier\ -\ packages.desktop;
}
function set_xfce4_notes_autostart() {
- cp -vv ~/immudex-testing/files/${VERSION}/autostart-x4notes.desktop /home/xf0r3m/.config/autostart;
+ cp -vv ~/immudex-testing/files/024/autostart-x4notes.desktop /home/xf0r3m/.config/autostart;
chown xf0r3m:xf0r3m /home/xf0r3m/.config/autostart/autostart-x4notes.desktop;
}
+VERSION=$(echo $0 | cut -d "." -f 1);
+if [ ! "$VERSION" ]; then echo -e "\e[31mUpdate failed!\e[0m"; exit 1; fi;
+
sudo rm -rf ~/immudex-testing/${arch}/chroot;
sudo /sbin/debootstrap --arch=$(echo $1 | sed 's/-//g') testing ~/immudex-testing/${arch}/chroot http://deb.debian.org/debian
sudo cat > base_chroot.sh <<EOF
-dhclient;
cd;
-if [ -x /usr/bin/git ]; then GIT_SSH_COMMAND="ssh -p 2022" git clone ssh://git@searx.morketsmerke.org/~/immudex-testing.git
-else apt install git -y && GIT_SSH_COMMAND="ssh -p 2022" git clone ssh://git@searx.morketsmerke.org/~/immudex-testing.git;
+if [ -x /usr/bin/git ]; then git clone https://github.com/xf0r3m/immudex-testing;
+else apt install git -y && git clone https://github.com/xf0r3m/immudex-testing;
fi
export VERSION=$VERSION;
cd;
-GIT_SSH_COMMAND="ssh -p 2022" git clone ssh://git@searx.morketsmerke.org/~/xfcedebian-d13 xfcedebian;
+git clone https://github.com/xf0r3m/xfcedebian -b d13;
cd xfcedebian;
bash install.sh;
cp -vv ~/immudex-testing/files/${VERSION}/redshift.conf /etc/skel/.config;
cp -vv ~/immudex-testing/files/${VERSION}/redshift.desktop /etc/skel/.config/autostart;
cp -vv ~/immudex-testing/files/${VERSION}/terminalrc /etc/skel/.config/xfce4/terminal;
-cp -vv ~/immudex-testing/files/${VERSION}/mimeapps.list /etc/skel/.config;
-cp -vv ~/immudex-testing/files/${VERSION}/mimeinfo.cache /usr/share/applications;
+# Instalacja odpowienich MIME jest teraz częścia projektu 'xfcedebian';
+#cp -vv ~/immudex-testing/files/${VERSION}/mimeapps.list /etc/skel/.config;
+#cp -vv ~/immudex-testing/files/${VERSION}/mimeinfo.cache /usr/share/applications;
cp -rvv ~/immudex-testing/files/${VERSION}/sync.sh /usr/share;
cp -vv ~/immudex-testing/files/${VERSION}/gtk-main.css /usr/share/xfce4-notes-plugin/gtk-3.0/;
cp -vv ~/immudex-testing/files/${VERSION}/immudex_hostname.service /etc/systemd/system;
cp -vv ~/immudex-testing/launchers/${VERSION}/16844254192.desktop /etc/skel/.config/xfce4/panel/launcher-5;
-rm /usr/share/images/desktop-base/no_trespass_abandon.jpeg;
systemctl enable immudex_hostname.service;
cat >> /etc/bash.bashrc << EOL
--- /dev/null
+#!/bin/bash
+
+dhclient;
+cd
+if [ -x /usr/bin/git ]; then git clone https://github.com/xf0r3m/immudex-testing.git;
+else apt install git && git clone https://github.com/xf0r3m/immudex-testing.git;
+fi
+source ~/immudex-testing/versions/template.sh;
+
+update_packages;
+
+cp -vv ~/immudex-testing/tools/${VERSION}/immudex_addons /usr/local/bin;
+cp -vv ~/immudex-testing/tools/${VERSION}/immudex_hostname /usr/local/bin;
+cp -vv ~/immudex-testing/tools/${VERSION}/pl /usr/local/bin;
+
+set_mime;
+
+tidy;
+
+rm $0;
--- /dev/null
+#!/bin/bash
+
+dhclient;
+cd
+if [ -x /usr/bin/git ]; then git clone https://github.com/xf0r3m/immudex-testing.git;
+else apt install git && git clone https://github.com/xf0r3m/immudex-testing.git;
+fi
+source ~/immudex-testing/versions/template.sh;
+
+update_packages;
+
+rm /usr/share/appliacations;
+
+set_mime;
+
+tidy;
--- /dev/null
+#!/bin/bash
+
+dhclient;
+cd
+if [ -x /usr/bin/git ]; then git clone https://github.com/xf0r3m/immudex-testing.git;
+else apt install git && git clone https://github.com/xf0r3m/immudex-testing.git;
+fi
+source ~/immudex-testing/versions/template.sh;
+
+update_packages;
+
+cp -vv ~/immudex-testing/tools/${VERSION}/newsfeed /usr/local/bin/
+
+set_mime;
+
+tidy;
--- /dev/null
+#!/bin/bash
+
+dhclient;
+cd
+if [ -x /usr/bin/git ]; then git clone https://github.com/xf0r3m/immudex-testing.git;
+else apt install git && git clone https://github.com/xf0r3m/immudex-testing.git;
+fi
+source ~/immudex-testing/versions/template.sh;
+
+update_packages;
+
+cp -vv ~/immudex-testing/files/${VERSION}/xfce4-keyboard-shortcuts.xml /etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml;
+cp -vv ~/immudex-testing/files/${VERSION}/whiskermenu-1.rc /etc/skel/.config/xfce4/panel;
+
+recreate_users;
+
+set_default_wallpaper d13_wallpaper.png;
+
+set_mime;
+
+tidy;
--- /dev/null
+#!/bin/bash
+
+dhclient;
+cd
+if [ -x /usr/bin/git ]; then git clone https://github.com/xf0r3m/immudex-testing.git;
+else apt install git && git clone https://github.com/xf0r3m/immudex-testing.git;
+fi
+source ~/immudex-testing/versions/template.sh;
+
+update_packages;
+
+cp -vv ~/immudex-testing/tools/${VERSION}/pl /usr/local/bin;
+
+set_mime;
+
+tidy;
--- /dev/null
+#!/bin/bash
+
+dhclient;
+cd
+if [ -x /usr/bin/git ]; then git clone https://github.com/xf0r3m/immudex-testing.git;
+else apt install git && git clone https://github.com/xf0r3m/immudex-testing.git;
+fi
+source ~/immudex-testing/versions/template.sh;
+
+update_packages;
+
+cp -vv ~/immudex-testing/tools/${VERSION}/create_media /usr/local/bin;
+cp -vv ~/immudex-testing/tools/${VERSION}/immudex_hostname /usr/local/bin;
+
+rm -rf /etc/skel/.mozilla;
+tar -xzvf ~/immudex-testing/files/${VERSION}/mozilla.tgz -C /etc/skel;
+recreate_users;
+
+set_mime;
+
+tidy;
#!/bin/bash
-dhclient;
cd;
-if [ -x /usr/bin/git ]; then GIT_SSH_COMMAND="ssh -p 2022" git clone ssh://git@searx.morketsmerke.org/~/immudex-testing.git
-else apt install git -y && GIT_SSH_COMMAND="ssh -p 2022" git clone ssh://git@searx.morketsmerke.org/~/immudex-testing.git;
+if [ -x /usr/bin/git ]; then git clone https://github.com/xf0r3m/immudex-testing;
+else apt install git -y && git clone https://github.com/xf0r3m/immudex-testing;
fi
export VERSION=100;
cd;
-GIT_SSH_COMMAND="ssh -p 2022" git clone ssh://git@searx.morketsmerke.net/~/xfcedebian-d13 xfcedebian;
+git clone https://github.com/xf0r3m/xfcedebian -b d13;
cd xfcedebian;
bash install.sh;
cp -vv ~/immudex-testing/files/${VERSION}/redshift.conf /etc/skel/.config;
cp -vv ~/immudex-testing/files/${VERSION}/redshift.desktop /etc/skel/.config/autostart;
cp -vv ~/immudex-testing/files/${VERSION}/terminalrc /etc/skel/.config/xfce4/terminal;
-cp -vv ~/immudex-testing/files/${VERSION}/mimeapps.list /etc/skel/.config;
+# Instalacja MIME jest teraz częścią projektu 'xfcedebian'
+#cp -vv ~/immudex-testing/files/${VERSION}/mimeapps.list /etc/skel/.config;
cp -rvv ~/immudex-testing/files/${VERSION}/sync.sh /usr/share;
cp -vv ~/immudex-testing/files/${VERSION}/gtk-main.css /usr/share/xfce4-notes-plugin/gtk-3.0/;
cp -vv ~/immudex-testing/files/${VERSION}/immudex_hostname.service /etc/systemd/system;
cp -vv ~/immudex-testing/launchers/${VERSION}/16844254192.desktop /etc/skel/.config/xfce4/panel/launcher-5;
-rm /usr/share/images/desktop-base/no_trespass_abandon.jpeg;
systemctl enable immudex_hostname.service;
cat >> /etc/bash.bashrc << EOL
#!/bin/bash
function update_packages() {
- dhclient;
apt update;
apt upgrade -y;
}
apt install $@ -y;
}
+function set_notifier_packages() {
+ cp -vv ~/immudex-testing/files/Notifier\ -\ packages.desktop /home/xf0r3m/.config/autostart;
+ chown xf0r3m:xf0r3m /home/xf0r3m/.config/autostart/Notifier\ -\ packages.desktop;
+}
+
+function set_xfce4_notes_autostart() {
+ cp -vv ~/immudex-testing/files/autostart-x4notes.desktop /home/xf0r3m/.config/autostart;
+ chown xf0r3m:xf0r3m /home/xf0r3m/.config/autostart/autostart-x4notes.desktop;
+}
+
+
function recreate_users() {
userdel -r user;
userdel -r xf0r3m;
useradd -m -s /bin/bash user;
cp -rvv /etc/skel/.??* /home/user;
- cp -rvv /etc/skel/?* /home/user;
chown -R user:user /home/user;
echo "user:user1" | chpasswd;
useradd -m -s /bin/bash xf0r3m;
cp -rvv /etc/skel/.??* /home/xf0r3m;
- cp -rvv /etc/skel/?* /home/xf0r3m;
chown -R xf0r3m:xf0r3m /home/xf0r3m;
echo "xf0r3m:xf0r3m1" | chpasswd;
+ set_notifier_packages
+ set_xfce4_notes_autostart
usermod -aG libvirt,libvirt-qemu xf0r3m;
usermod -aG libvirt,libvirt-qemu user;
ln -s /usr/share/images/desktop-base/$1 /usr/share/images/desktop-base/default;
}
-function set_notifier_packages() {
- cp -vv ~/immudex-testing/files/${VERSION}/Notifier\ -\ packages.desktop /home/xf0r3m/.config/autostart;
- chown xf0r3m:xf0r3m /home/xf0r3m/.config/autostart/Notifier\ -\ packages.desktop;
-}
-
-function set_xfce4_notes_autostart() {
- cp -vv ~/immudex-testing/files/${VERSION}/autostart-x4notes.desktop /home/xf0r3m/.config/autostart;
- chown xf0r3m:xf0r3m /home/xf0r3m/.config/autostart/autostart-x4notes.desktop;
+function set_mime() {
+ cp -vv ~/immudex-testing/files/mimeinfo.cache /usr/share/applications;
}
+export VERSION=$(echo $0 | cut -d "." -f 1);