LINUX.ORG.RU

Сообщения tmp2155

 

Скрипт для запуска флешек в нормальном проигрывателе.

Всем привет.

Попросил тут меня друг написать ему скрипт. Он часто просматривает видео в нэте, а нетбук очень слабый, и видео во флешках-в-фулскрине часто притормаживает. Так вот, с помощью этого скрипта можно запустить видос в браузере и нажать паузу, а смотреть уже в каком-нибудь нормальном проигрывателе.

Суть:

#!/bin/sh
#encoding=utf-8

pids=`ps x | grep libflashplayer.so | grep -v grep | awk '{print $1}'`

echo "=== FlashPlayer PIDs: ===\n$pids\n"

i=0
for pid in $pids; do
	fds=`lsof -p $pid | grep Flash | \
		awk '{print $4"|"$7}' | sed 's/[^0-9]//'`
	for fd in $fds; do
		i=`expr $i + 1`
		path=`echo $fd | sed 's/|.*//'`
		size=`echo $fd | sed 's/.*|//'`
		files=$files"/proc/$pid/fd/$path\n"
		list=$list"$i /proc/$pid/fd/$path $size "
	done
done

echo "=== Flash files: ===\n$files"

case $i in
	0) zenity --title="$0" --error --text="Flash files not found" ;;
	1) file=`echo $files` ;;
	*)
		file=`zenity --title="$0" --list \
			--width=430 --height=340 --text="Select file:" \
			--column="#" --column="File" --column="Size" \
			--print-column=2 $list`
	;;
esac

if [ -n "$file" ]; then
	dir=`dirname $file`
	act=`zenity --title="$0" --list \
		--width=420 --height=360 --text="Select action for $file:" \
		--column="Actions" --column="Commands" --print-column=2 \
		"Copy file" "cp" \
		"Open directory in nautilus" "nautilus $dir" \
		"Open directory in pcmanfm" "pcmanfm $dir" \
		"Open directory in thunar" "thunar $dir" \
		"Play file in mplayer" "mplayer $file" \
		"Play file in smplayer" "smplayer $file" \
		"Play file in vlc" "vlc $file" \
		`
	case "$act" in
		cp)
			path=`zenity --title="$0" --file-selection --save`
			if [ -n "$path" ]; then
				cp $file "$path" | \
				zenity --title="$0" --progress --auto-close \
				--pulsate --width=600 --text="Copy $file to $path"
			fi
		;;
		*) `$act` ;;
	esac
fi

Для работы требуется zenity. Тестировал только на chromium'е которым он пользуется.

.desktop файл:

#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Name=flash
Exec=/home/user/bin/flash.sh
Icon=smplayer
Terminal=false
StartupNotify=true
Type=Application

меняйте строку Exec=/home/user/bin/flash.sh до того места где он будет находиться.

Это один из первых моих опытов написания скриптов (да и вообще один из первых опытов прогания), поэтому буду рад услышать замечания.

 

tmp2155
()

RSS подписка на новые темы