Browse Source

updates for mediaplayer module

master
crim50n 4 years ago
parent
commit
2eb0c24a42
  1. 6
      linux-live/buildconfig
  2. 4
      linux-live/initramfs/static/minios-configure
  3. 54
      linux-live/module_scripts/03-mediaplayer/install
  4. 67
      linux-live/module_scripts/03-mediaplayer/rootcopy-install/usr/bin/mediaplayer

6
linux-live/buildconfig

@ -6,7 +6,7 @@ DISTRIBUTION_TYPE=debian
# distribution # distribution
# дистрибутив # дистрибутив
DISTRIBUTION=buster DISTRIBUTION=stretch
# distribution arch # distribution arch
# архитектура дистрибутива # архитектура дистрибутива
@ -14,7 +14,7 @@ DISTRIBUTION_ARCH=amd64
# окружение рабочего стола # окружение рабочего стола
# desktop environment # desktop environment
DESKTOP_ENVIRONMENT=mediaplayer DESKTOP_ENVIRONMENT=xfce
# system variant, indicates the used list of packages in modules # system variant, indicates the used list of packages in modules
# вариант системы, указывает на используемый список пакетов в модулях # вариант системы, указывает на используемый список пакетов в модулях
@ -30,7 +30,7 @@ DISTRIBUTION_VARIANT="minbase"
# if core, then executing scripts will not build modules. # if core, then executing scripts will not build modules.
# если core, то выполнение скриптов не будет собирать модули. # если core, то выполнение скриптов не будет собирать модули.
#SYSTEM_TYPE="core" SYSTEM_TYPE="core"
# path of the log file # path of the log file
# путь файла лога # путь файла лога

4
linux-live/initramfs/static/minios-configure

@ -517,6 +517,10 @@ if [ -f /minios-modules.tar.xz ]; then
rm /minios-modules.tar.xz rm /minios-modules.tar.xz
fi fi
if [ -f /usr/bin/x11vnc ]; then
x11vnc -storepasswd "$ROOT_PASSWORD" /etc/vncpassword
fi
systemctl enable minios-configure systemctl enable minios-configure
if [ "$SCRIPT_DIR" != "/usr/bin" ]; then if [ "$SCRIPT_DIR" != "/usr/bin" ]; then

54
linux-live/module_scripts/03-mediaplayer/install

@ -14,43 +14,25 @@ if [ -f $SCRIPT_DIR/$PACKAGE_VARIANT.list ]; then
$(grep -vE "^\s*#" $SCRIPT_DIR/$PACKAGE_VARIANT.list | tr "\n" " ") >>$OUTPUT 2>&1 $(grep -vE "^\s*#" $SCRIPT_DIR/$PACKAGE_VARIANT.list | tr "\n" " ") >>$OUTPUT 2>&1
fi fi
cat >/etc/samba/smb.conf <<'EOF' cat >/usr/lib/systemd/system/x11vnc.service <<'EOF'
[global]
dos charset = cp866
server string = Samba Server
unix charset = UTF8
log file = /var/log/samba/%m.log
max log size = 50
disable spoolss = Yes
load printers = No
printcap name = /dev/null
show add printer wizard = No
unix extensions = No
map to guest = Bad User
security = USER
dns proxy = No
idmap config * : backend = tdb
wide links = Yes
[media]
comment = Media Folder
path = /mediasource
locking = No
read only = No
valid users = guest
EOF
cat >/lib/systemd/system/x11vnc.service <<'EOF'
[Unit] [Unit]
Description=Start x11vnc at startup. Description=x11vnc server
After=multi-user.target After=display-manager.service
[Service] [Service]
Type=simple ExecStart=/usr/bin/x11vnc -many -shared -auth guess -noxdamage -rfbauth /etc/vncpasswd -rfbport 5900 -o /var/log/x11vnc.log
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared User=root
Restart=on-failure
RestartSec=3
[Install] [Install]
WantedBy=multi-user.target WantedBy=graphical.target
EOF EOF
cat >/lib/systemd/system/novnc.service <<'EOF' useradd -r novnc
cat >/usr/lib/systemd/system/novnc.service <<'EOF'
[Unit] [Unit]
Description=NoVNC Description=NoVNC
After=network.target After=network.target
@ -66,6 +48,8 @@ WantedBy=multi-user.target
EOF EOF
cat >/mediaplayer.config <<'EOF' cat >/mediaplayer.config <<'EOF'
root_password=P1ayMyVide0
user_password=P1ayMyVide0
x11vnc_password=P1ayMyVide0 x11vnc_password=P1ayMyVide0
samba_password=P1ayMyVide0 samba_password=P1ayMyVide0
vlc_password=P1ayMyVide0 vlc_password=P1ayMyVide0
@ -79,8 +63,6 @@ vlc_options=" -f -R --no-video-title --extraintf=http --http-password $vlc_passw
play_pause=1 play_pause=1
EOF EOF
chmod +x /usr/bin/mediaplayer
systemctl disable smbd systemctl disable smbd
systemctl disable x11vnc #systemctl disable x11vnc
systemctl disable novnc #systemctl disable novnc

67
linux-live/module_scripts/03-mediaplayer/rootcopy-install/usr/bin/mediaplayer

@ -1,22 +1,15 @@
#!/bin/bash #!/bin/bash
. /etc/minios/config . /etc/minios/config
. /etc/minios.conf
function read_cmdline() { function read_cmdline() {
for i in $@; do for i in $@; do
case $i in case $i in
user_name=*)
user_name="${i#*=}"
shift # past argument=value
;;
playlocally) playlocally)
playlocally=true playlocally=true
shift # past argument with no value shift # past argument with no value
;; ;;
*)
UNKNOWN=true
# unknown option
;;
esac esac
done done
} }
@ -33,18 +26,13 @@ fi
read_cmdline /proc/cmdline read_cmdline /proc/cmdline
if [ $user_name = "root" ]; then if [ $USER_NAME = "root" ]; then
user_name=guest user_name=guest
else
user_name=$USER_NAME
fi fi
sudo x11vnc -storepasswd "$x11vnc_password" /etc/x11vnc.pass >/dev/null 2>&1 if [ "$playlocally" = "true" ]; then
echo -e "$samba_password\n$samba_password" | (sudo smbpasswd -a -s $user_name)
sudo systemctl restart ssh
sudo systemctl restart x11vnc
sudo systemctl restart novnc
sudo systemctl restart smbd
if [ $playlocally = "true" ]; then
if mount -L $local_source_label /mnt >/dev/null 2>&1; then if mount -L $local_source_label /mnt >/dev/null 2>&1; then
media_source=/mnt$media_source media_source=/mnt$media_source
playing_source=/mnt$playing_source playing_source=/mnt$playing_source
@ -53,6 +41,38 @@ if [ $playlocally = "true" ]; then
fi fi
fi fi
sudo bash -c "sudo cat >/etc/samba/smb.conf <<EOF
[global]
dos charset = cp866
server string = Samba Server
unix charset = UTF8
log file = /var/log/samba/%m.log
max log size = 50
disable spoolss = Yes
load printers = No
printcap name = /dev/null
show add printer wizard = No
unix extensions = No
map to guest = Bad User
security = USER
dns proxy = No
idmap config * : backend = tdb
wide links = Yes
[media]
comment = Media Folder
path = $media_source
locking = No
read only = No
valid users = $user_name
EOF"
echo -e "$root_password\n$root_password" | (sudo passwd root >/dev/null 2>&1)
echo -e "$user_password\n$user_password" | (sudo passwd $user_name >/dev/null 2>&1)
sudo x11vnc -storepasswd "$x11vnc_password" /etc/vncpasswd >/dev/null 2>&1
echo -e "$samba_password\n$samba_password" | (sudo smbpasswd -a -s $user_name)
sudo systemctl restart x11vnc
sudo systemctl restart smbd
if [ ! -d "$media_source" ]; then if [ ! -d "$media_source" ]; then
sudo mkdir -p $media_source sudo mkdir -p $media_source
sudo chown $user_name:$user_name $media_source sudo chown $user_name:$user_name $media_source
@ -70,13 +90,13 @@ if [ ! -d "/tmp/mediaplayer" ]; then
sudo chown $user_name:$user_name /tmp/mediaplayer sudo chown $user_name:$user_name /tmp/mediaplayer
fi fi
if [ $playlocally != "true" ]; then if [ "$playlocally" != "true" ]; then
if mount -L $local_source_label $local_source ] >/dev/null 2>&1; then if mount -L $local_source_label $local_source >/dev/null 2>&1; then
local_mounted="true" local_mounted="true"
fi fi
fi fi
if [ $local_mounted = "true" ]; then if [ "$local_mounted" = "true" ]; then
if [ ! -d "$local_source/media" ]; then if [ ! -d "$local_source/media" ]; then
sudo mkdir -p "$local_source/media" sudo mkdir -p "$local_source/media"
sudo chown $user_name:$user_name "$local_source/media" sudo chown $user_name:$user_name "$local_source/media"
@ -103,8 +123,13 @@ inotifywait -m $media_source -e close_write |
find $playing_source ! -name "$file" -type f -exec rm -f {""} + find $playing_source ! -name "$file" -type f -exec rm -f {""} +
if [ -d "$local_source/media" ] && [ -d "$local_source/mediaplayer" ]; then if [ -d "$local_source/media" ] && [ -d "$local_source/mediaplayer" ]; then
cp "$playing_source/$file" "$local_source/media/$file" cp "$playing_source/$file" "$local_source/media/$file"
chown $user_name "$local_source/media/$file"
echo "$local_source/media/$file" >$local_source/mediaplayer/lastplayed echo "$local_source/media/$file" >$local_source/mediaplayer/lastplayed
find $local_source/media ! -name "$file" -type f -exec rm -f {""} + find $local_source/media ! -name "$file" -type f -exec rm -f {""} +
fi fi
/usr/bin/$vlc_name $vlc_options $(cat /tmp/mediaplayer/lastplayed) >/dev/null 2>&1 & if [ $USER_NAME = "root" ]; then
exec su -c "/usr/bin/$vlc_name $vlc_options '$(cat /tmp/mediaplayer/lastplayed)'" $user_name >/dev/null 2>&1 &
else
/usr/bin/$vlc_name $vlc_options $(cat /tmp/mediaplayer/lastplayed) >/dev/null 2>&1 &
fi
done done

Loading…
Cancel
Save