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. 65
      linux-live/module_scripts/03-mediaplayer/rootcopy-install/usr/bin/mediaplayer

6
linux-live/buildconfig

@ -6,7 +6,7 @@ DISTRIBUTION_TYPE=debian
# distribution
# дистрибутив
DISTRIBUTION=buster
DISTRIBUTION=stretch
# distribution arch
# архитектура дистрибутива
@ -14,7 +14,7 @@ DISTRIBUTION_ARCH=amd64
# окружение рабочего стола
# desktop environment
DESKTOP_ENVIRONMENT=mediaplayer
DESKTOP_ENVIRONMENT=xfce
# 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.
# если core, то выполнение скриптов не будет собирать модули.
#SYSTEM_TYPE="core"
SYSTEM_TYPE="core"
# 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
fi
if [ -f /usr/bin/x11vnc ]; then
x11vnc -storepasswd "$ROOT_PASSWORD" /etc/vncpassword
fi
systemctl enable minios-configure
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
fi
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 = /mediasource
locking = No
read only = No
valid users = guest
EOF
cat >/lib/systemd/system/x11vnc.service <<'EOF'
cat >/usr/lib/systemd/system/x11vnc.service <<'EOF'
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
Description=x11vnc server
After=display-manager.service
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
ExecStart=/usr/bin/x11vnc -many -shared -auth guess -noxdamage -rfbauth /etc/vncpasswd -rfbport 5900 -o /var/log/x11vnc.log
User=root
Restart=on-failure
RestartSec=3
[Install]
WantedBy=multi-user.target
WantedBy=graphical.target
EOF
cat >/lib/systemd/system/novnc.service <<'EOF'
useradd -r novnc
cat >/usr/lib/systemd/system/novnc.service <<'EOF'
[Unit]
Description=NoVNC
After=network.target
@ -66,6 +48,8 @@ WantedBy=multi-user.target
EOF
cat >/mediaplayer.config <<'EOF'
root_password=P1ayMyVide0
user_password=P1ayMyVide0
x11vnc_password=P1ayMyVide0
samba_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
EOF
chmod +x /usr/bin/mediaplayer
systemctl disable smbd
systemctl disable x11vnc
systemctl disable novnc
#systemctl disable x11vnc
#systemctl disable novnc

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

@ -1,22 +1,15 @@
#!/bin/bash
. /etc/minios/config
. /etc/minios.conf
function read_cmdline() {
for i in $@; do
case $i in
user_name=*)
user_name="${i#*=}"
shift # past argument=value
;;
playlocally)
playlocally=true
shift # past argument with no value
;;
*)
UNKNOWN=true
# unknown option
;;
esac
done
}
@ -33,18 +26,13 @@ fi
read_cmdline /proc/cmdline
if [ $user_name = "root" ]; then
if [ $USER_NAME = "root" ]; then
user_name=guest
else
user_name=$USER_NAME
fi
sudo x11vnc -storepasswd "$x11vnc_password" /etc/x11vnc.pass >/dev/null 2>&1
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 [ "$playlocally" = "true" ]; then
if mount -L $local_source_label /mnt >/dev/null 2>&1; then
media_source=/mnt$media_source
playing_source=/mnt$playing_source
@ -53,6 +41,38 @@ if [ $playlocally = "true" ]; then
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
sudo mkdir -p $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
fi
if [ $playlocally != "true" ]; then
if mount -L $local_source_label $local_source ] >/dev/null 2>&1; then
if [ "$playlocally" != "true" ]; then
if mount -L $local_source_label $local_source >/dev/null 2>&1; then
local_mounted="true"
fi
fi
if [ $local_mounted = "true" ]; then
if [ "$local_mounted" = "true" ]; then
if [ ! -d "$local_source/media" ]; then
sudo mkdir -p "$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 {""} +
if [ -d "$local_source/media" ] && [ -d "$local_source/mediaplayer" ]; then
cp "$playing_source/$file" "$local_source/media/$file"
chown $user_name "$local_source/media/$file"
echo "$local_source/media/$file" >$local_source/mediaplayer/lastplayed
find $local_source/media ! -name "$file" -type f -exec rm -f {""} +
fi
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

Loading…
Cancel
Save