#76 Le 17/04/2008, à 16:41
- Mathieu11
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Désactivation du touchpad lors d'un branchement de souris
Le crédit va à l'auteur du blog (un Cyril apparement )
Dernière modification par Mathieu11 (Le 17/04/2008, à 16:44)
Vostro 1400
Hors ligne
#77 Le 17/04/2008, à 18:38
- kuri
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
vu qu il y a un script pour encoder ses videos PSP ... voici pour la DS :
Reference : http://forum.gbadev.org/viewtopic.php?t=7897
Fonctionne Pour Moonshell 1.5 (et surement +)
Logiciels Necessaires : mencoder, mplayer, mpeg_stat, python
#! /usr/bin/python
# DPG Converter by Anton Romanov (c) 2006
# released under GPL-2
#
"""A script to transcode video files to DPG format suitable for
Nintendo DS (tm)
dpgconv.py /home/foo/blah.avi /home/foo/blah2.avi
command line options:
--dpg
0,1,2 sets DPG version.. default is DPG2
--pf
sets pixel format, default is 3
0 RGB15
1 RGB18
2 RGB21
3 RGB24
-q,--hq
high quality video
-l,--lq
low quality video(takes no effect when --hq,-q is set)]
default is normal quality
-v,--vbps xxx
sets video stream bps in kb/s(default: 256)
-a,--abps xxx
sets audio stream bps kb/s (default: 128)
-f,--fps xx
sets video frames per second (default:15)
-z,--hz
sets audio frequency (default:32000)
-c,--channels
2 - stereo, 1 - mono
default is to leave as is unless input audio channels
number is bigger then 2 ... then default is stereo
--height xxx
destination video height
--width xxx
destination video width
--mv
additional parameters for mencoder for video
--ma
additional parameters for mencoder for audio
Hardcoding subtitles
--nosub
do no try autoloading of subtitles
(default is to try to load subtitle with matching filename)
--sub,-s xxx
Specify subtitles for hardcoding into video output
(is obviously only usable if you specify one file at a time)
--subcp xxx
specify subtitles encoding
--font xxx
specify font for subtitles
EXAMPLE:
--font ~/arial-14/font.desc
--font ~/arialuni.ttf
--font 'Bitstream Vera Sans'
You can specify font, subcp and other additional mencoder parameters in
~/.mplayer/mencoder.conf
EXAMPLE:
font=/usr/local/share/fonts/msfonts/comic.ttf
subcp=cp1251
"""
import sys, os, optparse
MP2TMP="mp2tmp.mp2"
MPGTMP="mpgtmp.mpg"
HEADERTMP="header.tmp"
GOPTMP="gop.tmp"
STATTMP="stat.tmp"
MENCODER="mencoder"
MPLAYER="mplayer"
MPEG_STAT="mpeg_stat"
#Print a help message if requested.
if "-h" in sys.argv or "-help" in sys.argv or "--help" in sys.argv:
print __doc__
raise SystemExit
def cleanup_callback(a,b):
print "Removing temporary files"
if os.path.lexists ( MPGTMP ):
os.unlink ( MPGTMP )
if os.path.lexists ( MP2TMP ):
os.unlink ( MP2TMP )
if os.path.lexists ( HEADERTMP ):
os.unlink ( HEADERTMP )
if os.path.lexists ( GOPTMP ):
os.unlink ( GOPTMP )
if os.path.lexists ( STATTMP ):
os.unlink ( STATTMP )
def conv_vid(file):
if options.dpg == 0:
v_pf = "format=rgb24,"
options.pf = 3
elif options.pf == 3:
v_pf = "format=rgb24,"
elif options.pf == 2:
v_pf = "format=rgb21,"
elif options.pf == 1:
v_pf = "format=rgb18,"
elif options.pf == 0:
v_pf = "format=rgb15,"
else:
v_pf = "format=rgb24,"
options.pf = 3
if options.hq:
v_cmd = ( " \""+ file +"\" -v -ofps " + `options.fps` + " -sws 9 -vf " + v_pf + "scale=" + `options.width` + ":" + `options.height` +":::3 -nosound -ovc lavc -lavcopts vcodec=mpeg1video:vstrict=-2:mbd=2:trell:cbp:mv0:cmp=6:subcmp=6:precmp=6:dia=3:predia=3:last_pred=3:vbitrate=" + `options.vbps` + " -o " + MPGTMP + " -of rawvideo" )
elif options.lq:
v_cmd = ( " \"" + file + "\" -v -ofps " + `options.fps` + " -vf " + v_pf + "scale=" + `options.width` + ":" + `options.height` + " -nosound -ovc lavc -lavcopts vcodec=mpeg1video:vstrict=-2:vbitrate=" + `options.vbps` + " -o " + MPGTMP + " -of rawvideo" )
else :
v_cmd = ( " \""+ file +"\" -v -ofps " + `options.fps` + " -sws 9 -vf " + v_pf + "scale=" + `options.width` + ":" + `options.height` + ":::3 -nosound -ovc lavc -lavcopts vcodec=mpeg1video:vstrict=-2:mbd=2:trell:cbp:mv0:cmp=2:subcmp=2:precmp=2:vbitrate=" + `options.vbps` + " -o " + MPGTMP + " -of rawvideo")
if options.nosub:
if options.sub != None:
v_cmd = " -sub \"" + options.sub + "\" " + v_cmd
else:
basename = os.path.splitext ( file )[0]
if options.sub != None:
v_cmd = " -sub \"" + options.sub + "\" " + v_cmd
elif os.path.exists ( basename + ".ass" ):
v_cmd = " -sub \"" + basename + ".ass" + "\" " + v_cmd
elif os.path.exists ( basename + ".srt" ):
v_cmd = " -sub \"" + basename + ".srt" + "\" " + v_cmd
elif os.path.exists ( basename + ".sub" ):
v_cmd = " -sub \"" + basename + ".sub" + "\" " + v_cmd
elif os.path.exists ( basename + ".ssa" ):
v_cmd = " -sub \"" + basename + ".ssa" + "\" " + v_cmd
if options.subcp != None:
v_cmd = " -subcp " + options.subcp + v_cmd
if options.font != None:
v_cmd = " -font \"" + options.font + "\"" + v_cmd
v_cmd = MENCODER + " " + v_cmd
proc = subprocess.Popen(v_cmd,shell=True,stdout=subprocess.PIPE,universal_newlines=True,stderr=open('/dev/null', 'w'))
# v_out = ""
p = re.compile ("f (\(.*%\))")
# f = re.compile ("([0-9]*)\/([0-9]*)\/([0-9]*)")
for line in proc.stdout:
# v_out = v_out + line
m = p.search( line )
if m:
print "Transcoding video: " + m.group(1) + "\r" ,
# m = f.search(line)
# if m:
# duplicate_frame = int (m.group (1))
# bad_frames = int (m.group(2))
# skipped_frames = int (m.group(3))
print "Transcoding video: done"
# p = re.compile ("secs ([0-9]*)( frames)")
# m = p.search( v_out )
# origframes = int(m.group(1))
# frames = origframes - bad_frames + duplicate_frame
# print "Original file total frames:" + `origframes`
# print "Skipped " + `skipped_frames` + " frames"
# print "Duplicated " + `duplicate_frame` + " frames"
# print `bad_frames` + " bad " + " frames"
# print "Output file total frames:" + `frames`
# return frames
def conv_aud(file):
a_cmd = ( MENCODER + " \"" +file + "\" -v -of rawaudio -oac lavc -ovc copy -lavcopts acodec=mp2:abitrate=" + `options.abps` + " -o " + MP2TMP )
identify = commands.getoutput( MPLAYER + " -frames 0 -vo null -ao null -identify \"" + file + "\" | grep -E \"^ID|VIDEO|AUDIO\"")
p = re.compile ("([0-9]*)( ch)")
m = p.search( identify )
if m:
c = m.group(1)
if options.channels == None:
if c > 2:
a_cmd = a_cmd + " -af channels=2,resample=" +`options.hz`+ ":1:2"
else:
a_cmd = a_cmd + " -af resample=" +`options.hz`+ ":1:2"
elif options.channels >= 2:
a_cmd = a_cmd + " -af channels=2,resample=" +`options.hz`+ ":1:2"
else:
a_cmd = a_cmd + " -af channels=1,resample=" +`options.hz`+ ":1:2"
proc = subprocess.Popen(a_cmd,shell=True,stdout=subprocess.PIPE,universal_newlines=True,stderr=subprocess.STDOUT)
v_out = ""
p = re.compile ("f (\(.*%\))")
for line in proc.stdout:
m = p.search( line )
if m:
print "Transcoding audio: " + m.group(1) + "\r" ,
print "Transcoding audio: done"
def write_header(frames):
print "Creating header"
audiostart=36
if options.dpg == 1:
audiostart += 4
elif options.dpg == 2:
audiostart += 12
audiosize = os.stat(MP2TMP)[stat.ST_SIZE]
videosize = os.stat(MPGTMP)[stat.ST_SIZE]
videostart = audiostart + audiosize
videoend = videostart + videosize
f=open(HEADERTMP, 'wb')
DPG = "DPG" + `options.dpg`
headerValues = [ DPG, int(frames), options.fps, 0, options.hz , 0 ,int(audiostart), int(audiosize), int(videostart), int(videosize) ]
f.write (struct.pack( "4s" , headerValues[0]))
f.write (struct.pack ( "<l" , headerValues[1]))
f.write (struct.pack ( ">h" , headerValues[2]))
f.write (struct.pack ( ">h" , headerValues[3]))
f.write (struct.pack ( "<l" , headerValues[4]))
f.write (struct.pack ( "<l" , headerValues[5]))
f.write (struct.pack ( "<l" , headerValues[6]))
f.write (struct.pack ( "<l" , headerValues[7]))
f.write (struct.pack ( "<l" , headerValues[8]))
f.write (struct.pack ( "<l" , headerValues[9]))
if options.dpg == 0:
f.write (struct.pack ( "<l" , options.pf ))
if options.dpg == 2:
gopsize = os.stat(GOPTMP)[stat.ST_SIZE]
f.write (struct.pack ( "<l" , videoend ))
f.write (struct.pack ( "<l" , gopsize))
f.write (struct.pack ( "<l" , options.pf ))
f.close()
def mpeg_stat():
p = re.compile ("frames: ([0-9]*)\.")
s_out = commands.getoutput( MPEG_STAT + " -offset " + STATTMP + " " + MPGTMP )
m = p.search( s_out )
frames = m.group(1)
if options.dpg == 2:
gop=open(GOPTMP, 'wb')
stat=open(STATTMP, 'rb')
frame = 0
for line in stat:
sline = line.split()
if sline[0] == "picture" :
frame += 1
elif sline[0] == "gop":
gop.write (struct.pack ( "<l" , frame ))
gop.write (struct.pack ( "<l" , int(sline[1])/8 - 140 ))
gop.close()
stat.close()
return frames
def conv_file(file):
print "Converting " + file
conv_vid (file)
conv_aud(file)
frames = mpeg_stat()
write_header(frames)
dpgname = os.path.basename ( os.path.splitext ( file )[0] ) + ".dpg"
print "Creating " + dpgname
commands.getoutput( "cat \"" + HEADERTMP + "\" \"" + MP2TMP + "\" \"" + MPGTMP + "\" > \"" + dpgname + "\"")
if options.dpg == 2:
commands.getoutput( "cat \"" + GOPTMP + "\" >> \"" + dpgname + "\"")
cleanup_callback (0,0)
print "Done converting \"" + file + "\" to \"" + dpgname + "\""
from optparse import OptionParser
parser = OptionParser()
parser.add_option("-f","--fps", type="int", dest="fps" , default=15)
parser.add_option("-q","--hq",action="store_true", dest="hq", default=False)
parser.add_option("-l","--lq",action="store_true", dest="lq", default=False)
parser.add_option("-v","--vbps", type="int", dest="vbps", default=256)
parser.add_option("-a","--abps", type="int", dest="abps", default=128)
parser.add_option("--height", type="int", dest="height", default=192)
parser.add_option("--width", type="int", dest="width", default=256)
parser.add_option("-z","--hz", type="int", dest="hz", default=32000)
parser.add_option("-c","--channels", type="int", dest="channels")
parser.add_option("--subcp", dest="subcp")
parser.add_option("-s","--sub", dest="sub")
parser.add_option("--font", dest="font")
parser.add_option("--mv", dest="mv")
parser.add_option("--ma", dest="ma")
parser.add_option("--nosub",action="store_true", dest="nosub", default=False)
parser.add_option("--dpg", type="int" , dest="dpg", default=2)
parser.add_option("--pf", type="int" , dest="pf", default=3)
(options, args) = parser.parse_args()
import signal
signal.signal(signal.SIGINT, cleanup_callback)
signal.signal(signal.SIGTERM, cleanup_callback)
import commands,re,stat,struct,subprocess
if options.dpg > 2:
options.dpg = 2
if options.dpg < 0:
options.dpg = 2
for file in args:
conv_file(file)
Install :
Enregistrer dpgconv dans /usr/local/bin/
chmod +x /usr/local/bin/dpgconv
pour s en servir : dpgconv fichier.avi fichier2.avi fichier3.avi ...
Hors ligne
#78 Le 18/04/2008, à 06:00
- teet
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
je cherche un script pour avoir "imprimer " dans le menu du clique droit d'un document (pdf,openoffice)
et surtout, toujours dans le menu du clique droit "graver sur un disque" pour un fichier avi, comme on l'a pour une image iso.
merci
manger du castor et vous sauverez un arbre !
ubuntu user 6419
Hors ligne
#79 Le 18/04/2008, à 11:23
- koflesinge
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Ca dépends de ton environnement de bureau.Pour KDE, je ne peux pas te répondre , mais pour gnome et xfce c'est du pareil au meme.
Gnome :
-Installe nautilus-actions
-Ouvre la configuration des actions nautilus (menu préférence)
-il faut ensuite trouver la commande qui sert à graver les fichiers, ou à les imprimer(un man brasero dans le terminal fera surement l'affaire, sinon, une recherche dans la doc pour graver en ligne de commande).
-Ensuite, tu peux configure l'action , pour qu'elle n'apparaisse qu'avec certains types de fichiers ...
XCFE:
Quasiment la meme chose, sauf que thunar-actions se situe dans le menu de thunar.Pour l'impression il faut regarder les thunar-sendto il me semble.
Ces outils (nautilus-actions et thunar-actions), sont réellements très performants et très pratiques ...
Actions pour envoyer des fichiers sur un téléphone portable (sous xfce), conversions de fichier vidéos (proposée uniquement si le fichier est un fichier vidéo)...
La difficulté est souvent de trouver la ligne de commande qui convient.il est meme possible de lier ces actions à un script que vous avez écrit.
Hors ligne
#80 Le 18/04/2008, à 12:15
- teet
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
merci je vais voir tout ça
manger du castor et vous sauverez un arbre !
ubuntu user 6419
Hors ligne
#81 Le 19/04/2008, à 00:25
- Arjuna
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Prend celui la en python il est 2 fois plus rapide que le script bash
#!/usr/bin/env python import urllib, httplib, mimetypes, sys, re def post_multipart(host, port, selector, fields, files): """ Post fields and files to an http host as multipart/form-data. fields is a sequence of (name, value) elements for regular form fields. files is a sequence of (name, filename, value) elements for data to be uploaded as files Return the server's response page. """ content_type, body = encode_multipart_formdata(fields, files) h = httplib.HTTP(host, port) h.putrequest('POST', selector) h.putheader('content-type', content_type) h.putheader('content-length', str(len(body))) h.endheaders() h.send(body) errcode, errmsg, headers = h.getreply() return h.file.read() def encode_multipart_formdata(fields, files): """ fields is a sequence of (name, value) elements for regular form fields. files is a sequence of (name, filename, value) elements for data to be uploaded as files Return (content_type, body) ready for httplib.HTTP instance """ BOUNDARY = '---------------------------13049614110900' CRLF = '\r\n' L = [] for (key, value) in fields: L.append('--' + BOUNDARY) L.append('Content-Disposition: form-data; name="%s"' % key) L.append('') L.append(value) for (key, filename, value) in files: L.append('--' + BOUNDARY) L.append('Content-Disposition: form-data; name="%s"; filename="%s"' % (key, filename)) L.append('Content-Type: %s' % get_content_type(filename)) L.append('') L.append(value) L.append('--' + BOUNDARY + '--') L.append('') body = CRLF.join(L) content_type = 'multipart/form-data; boundary=%s' % BOUNDARY return content_type, body def get_content_type(filename): return mimetypes.guess_type(filename)[0] or 'application/octet-stream' params = [('MAX_FILE_SIZE', '3145728'), ('refer', 'http://reg.imageshack.us/v_images.php')] files = [('fileupload', sys.argv[1], open(sys.argv[1], 'rb').read())] open(sys.argv[1]).read() text1 = post_multipart('imageshack.us', 80, '/index.php', params, files) keyword = re.compile(r"(image to friends)+") lines = str(text1).split('\n') for line in lines: if keyword.search (line): foo = line.split('"') print foo[1]
USage:
./imageshack.py image.jpg
Excuse moi, ceci m'intéresse. Je dois bien l'enregistrer en fichier texte et le copier dans le dossier des scripts gnome, ou je fais totalement fausse route ?
Hors ligne
#82 Le 19/04/2008, à 06:36
- Oreste visari
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Personne n'as de script pour télécharger l'émission "c dans l'air" qui passe sur france 5 en semaine vers les 17H30 ?
J'adore cette émission mais je ne peut la regarder qu'en période scolaire, ce qui est vraiment énervant.
Ubuntu 16.04 - Asus UX303L
Hors ligne
#83 Le 20/04/2008, à 19:48
- Xun
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Est-ce que le script d'encodage pour PSP marche aussi pour ipod (touch pour moi) ?
Nan car j'arrete pas d'essayer de convertir un film en fichier ipod avec Avidemux, mencoder ou ffmpeg... Le fichier en lui même marche, mais Quicktime ne veut pas le lire (j'ai oublié le message d'erreur, et vu que je suis pas sous win ...), c'est assez embetant ...
Xun
Hors ligne
#84 Le 21/04/2008, à 10:50
- Ras'
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
La meilleure solution n'est elle pas d'essayer ?
Ca m'interesse aussi mais j'ai pas d'ipod pour tester :\
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#85 Le 22/04/2008, à 13:52
- delphin2
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Script rm et restauration
Spécifications
Il s'agit de remplacer la commande rm initiale (par alias) par un script afin de ne pas supprimer directement le fichier mais qu'il soit déplacé vers une corbeille et versionné (date et heure/min/s) pour qu'il puisse être restaurée si la suppression n'était pas volontaire.
#!/bin/sh
# Version 1!
#Variable qui contient le chemin vers la corbeille
trash=~/Test
opt=-
#Cas de la suppression d'un fichier
while getopts ":if" OPTION
do
case $OPTION in
i) # gestion option "-i"
opt+="i "
;;
f) # gestion option "-f"
opt+="f "
;;
:) # gestion d'absence de paramètre
opt=""
;;
\?) # gestion d'option incorrecte
echo "Option incorrecte"
echo
echo "Usage : rm.sh [option] [paramètre]"
echo "Options = -i (confirmation) ou -f (sans confirmation) ou r (recursif)"
echo
exit
;;
esac
done
#On vérifie que le param soit bien passé
if [ "$#" -lt 1 ]
then
echo "syntaxe: rm <option(s)> <nom_de_fichier>"
exit
fi
#On remet le pointeur après les options
shift $(($OPTIND - 1))
dArg=$1
if [ $opt = - ]
then
opt=
fi
#Variable qui contient la date courante
date=`date +%FT%T`
#Variable qui contient le nom du fichier une fois stocké dans la poubelle
ficT="${dArg}_${date}_file"
ficL="${dArg}_${date}_link"
#Variable qui contient le chemin Initial du fichier/dossier
chemI=`pwd`
#Cas ou il n'y a pas d'option
cmd=`mv $opt $dArg $trash/$ficT`
$cmd
cmd=`echo $chemI > $trash/$ficL`
$cmd
Script de restauration (Non non on n'est pas au restaurant)
Il sagit d'un script qui permet de restaurer des fichiers tout en créant des dossiers de dates...
#!/bin/bash
trash=~/Test
cd $trash
opt=-
#Cas de la restauration d'un fichier
while getopts ":if" OPTION
do
case $OPTION in
i) # gestion option "-i"
opt+="i "
;;
f) # gestion option "-f"
opt+="f "
;;
:) # gestion d'absence de paramètre
opt=""
;;
\?) # gestion d'option incorrecte
echo "Option incorrecte"
echo
echo "Usage : rm.sh [option] [paramètre]"
echo "Options = -i (confirmation) ou -f (sans confirmation) ou r (recursif)"
echo
exit
;;
esac
done
if [ $opt = - ]
then
opt=
dArg=$1
fi
shift $(($OPTIND - 1))
dArg=$1
#nombre de lignes du fichier ou il y a file
let nbLignes=`ls |grep "file"|grep ${dArg}_ |wc -l`
let i=1
#affichage de chaque ligne avec le chemin du repertoire
while [ $i -le $nbLignes ]
do
#la ligne que veut l'utilisateur
#let ligne=$nbLignes-$i
#récupération de la date du fichier
date=`ls |grep "file"|grep ${dArg}_|tail +$i|head -1 |cut -d"_" -f2`
tmp="${dArg}_${date}_link"
chemin=`cat $tmp`
echo $i $date $chemin
let i=$i+1
done
echo ""
if [ $nbLignes -eq "0" ]
then
echo "Il n'y a pas de fichiers/dossiers portant ce nom dans la corbeille"
exit
fi
read -p "quel est le numéro du fichier/dossier: " noFic
if [ $noFic -gt $nbLignes ]
then
echo "Veuillez entrer un numéro de version disponible"
exit
fi
#récupération de la date du fichier
date=`ls |grep "file"|grep ${dArg}_|tail +${noFic}|head -1 |cut -d"_" -f2`
tmp="${dArg}_${date}_link"
chemin=`cat $tmp`
read -p "Dans quel dossier voulez vous déplacer le fichier: (Ne rien mettre pour le chemin par défaut, sinon entrer un chemin relatif): " arborescence
if [ -z "$arborescence" ]
then
arborescence=$chemin
fi
nomFichier=`ls |grep "file"|grep ${dArg}_|tail -${noFic}|head -1`
cmd=`mv $opt $trash/$nomFichier $arborescence/${dArg} `
$cmd
rm $tmp
# on quitte
exit 0
Hors ligne
#86 Le 22/04/2008, à 14:03
- delphin2
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Spécifications
Il s'agit de pouvoir se connecter au serveur à distance par reverse ssh quand le port 22 est fermé en entrée chez le client.
L'idéal serait d'avoir un script/logiciel à lancer qui effectue ça automatiquement à partir d'un des posts clients en ouvrant l'accès au serveur. Un mail ou un avertissement quelconque pourra être envoyé au moment de l'ouverture de la connexion.
Start_client.sh
#!/bin/bash
#Ip du serveur à contacter
ip="ip"
#Nom du script à exécuter sur le serveur
name="./reverse/Start_serveur.sh"
#User
user="login"
#Commande finale
echo "Lancement de la commande"
xterm -e "ssh -l $user $ip $name"
echo "Fin de la commande"
#On utilise un xterm connecté sur le serveur pour éviter les problème de processus en background qui pose problème avec les ssh
Stop_client.sh
#!/bin/bash
#Ip du serveur à contacter
ip="ip"
#Nom du script à exécuter sur le serveur
name="./reverse/Stop_serveur.sh"
#User
user="login"
#Commande finale
cmd=`ssh -f -l $user $ip $name`
Start_serveur.sh
#!/bin/bash
#Nom du script sur le serveur
name="Start_serveur.sh"
#user
user="login"
#Port en entrée
portE="1100"
#Port sur le serveur du login
portC="22"
#Ip du serveur login à atteindre
ip="ip"
#On vérifie que le script n'est pas déjà lancé:
pidssh=`pidof ssh`
if [ -z "$pidssh" ]
then
echo "Reverse SSH Open"
`ssh -l $user -R $portE:localhost:$portC $ip`
echo "Reverse ssh stoppé"
fi
Stop_serveur.sh
#!/bin/bash
#Suppression de tous les processus ssh qui sortent du serveur
`kill $(pidof ssh)`
Commande pour un test
Pour se connecter en reverse ssh il suffit alors de faire:
ssh -p 2222 localhost
ou après p on spécifie le port donné plus haut.
Dernière modification par delphin2 (Le 22/04/2008, à 14:07)
Hors ligne
#87 Le 22/04/2008, à 14:16
- jobastr
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonjour,
J'aurais voulu savoir s'il était possible de créer un script (Nautilus script) capable de convertir un fichier "tar.gz" en ".deb" ou capable d'installer directement un fichier "tar.gz", j'ai essayé mille fois de compiler des prgs à partir de ce type de fichier, je n'y arrive pas.
Ayez pitié de mon incompétence.:P
Hors ligne
#88 Le 22/04/2008, à 14:39
- hells_dark
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonjour,
J'aurais voulu savoir s'il était possible de créer un script (Nautilus script) capable de convertir un fichier "tar.gz" en ".deb" ou capable d'installer directement un fichier "tar.gz", j'ai essayé mille fois de compiler des prgs à partir de ce type de fichier, je n'y arrive pas.
Ayez pitié de mon incompétence.:P
ben un tar.gz, c'est une archive.. on sait pas comment sont répartis les fichiers dedans..
sinon, pour faire des deb avec ce "genre d'archives", checkinstall est super.
"You caught me at a strange time in my life."
devianArt - site perso
Hors ligne
#89 Le 22/04/2008, à 16:13
- jobastr
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Je vais faire des recherches sur "checkinstall"
Merci
Hors ligne
#90 Le 22/04/2008, à 19:04
- Slystone
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Eventuellement j'aurais une demande : un script pour téléchargement un type de fichier sur une page internet. Par exemple ça m'arrive de télécharger des livres en audio, et tout irait bien plus vite avec un petit script plutôt que de cliquer sur chaque lien pour les télécharger (surtout quand y en a plus de 50). Je suis sûr que ça intéresse plein de monde et pas seulement pour le mp3 (peux pas avec le ogg, mon nokia ne connaît que ça... )
Merci d'avance ! S'il existe déjà, je ne l'ai pas vu en faisant une recherche. (et puis si quelqu'un se donne le mal de le faire, le bonheur serait d'insérer des lignes explicatives dans le code vu que j'y connais que dalle, faut un début à tout hein ?). Bravo pour votre travail en tout cas, ça donne vraiment envie d'apprendre le shell !:)
«Rigid, the skeleton of habit alone upholds the human frame.» - Virginia Woolf.
Hors ligne
#91 Le 22/04/2008, à 20:19
- Gillaume
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Excellent ce topic, je le mets
en démarrage de firefox.
pfff, je sais pas coder, ou presque pas ....
j'ai honte, après 10 ans de linux ...
Guili Guili
Hors ligne
#92 Le 22/04/2008, à 20:25
- Itsu
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Slystone, downthemall plugin pour firefox fait très bien ça https://addons.mozilla.org/en-US/firefox/addon/201
Hors ligne
#93 Le 22/04/2008, à 20:42
- Xun
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Juste une question qui prouve que je suis inculte: en quel language sont écrit ces script; python ?
Xun
Hors ligne
#94 Le 22/04/2008, à 20:47
- Slystone
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Merci beaucoup ! Ca ça va me faciliter la vie !:cool:
«Rigid, the skeleton of habit alone upholds the human frame.» - Virginia Woolf.
Hors ligne
#95 Le 22/04/2008, à 20:55
- Itsu
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
pas de quoi
Juste une question qui prouve que je suis inculte: en quel language sont écrit ces script; python ?
Xun
en règle général, les scripts shell sont écrits en bash, ksh ...
plus rarement en python ou meme ruby je crois
Hors ligne
#96 Le 22/04/2008, à 21:54
- Xun
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Ok, merci de cette réponse !
Bonne nuit!
Xun
Hors ligne
#97 Le 22/04/2008, à 22:45
- d.xav
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Salut,
Mon script pour faire des sauvegardes de mon /home avec rsync
Features :
- sauvegarde incrémentielle tous les jours de la semaine,
- sauvegarde totale toutes les semaines, tous les mois, tous les ans,
- rapports d'erreurs dans les fichiers log
http://forum.ubuntu-fr.org/viewtopic.php?pid=1696230#p1696230
Hors ligne
#98 Le 22/04/2008, à 23:39
- Shrat
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Excellent ce topic, je le mets
en démarrage de firefox.pfff, je sais pas coder, ou presque pas ....
j'ai honte, après 10 ans de linux ...
Aincrédibeulh!!!!
Hors ligne
#99 Le 23/04/2008, à 21:36
- beudbeud
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Personne n'as de script pour télécharger l'émission "c dans l'air" qui passe sur france 5 en semaine vers les 17H30 ?
J'adore cette émission mais je ne peut la regarder qu'en période scolaire, ce qui est vraiment énervant.
Téléchargement de l'émission c dans l'air
- Auteurs : écrit par beudbeud
- Dépendances : mimms
#!/bin/sh
#script de beudbeud
#creation du répertoire
mkdir -p $HOME/Vidéos/c_dans_l_air/
#récupération de l'id
IDART=`wget -O - -q http://www.france5.fr/c-dans-l-air/index-fr.php?page=videos | grep -m1 id_article= | awk -F= '{print $4}' | awk -F'"' '{print $1}'`
#récupération du titre de l'émission
TITREBASE=`wget -O - -q http://www.france5.fr/c-dans-l-air/index-fr.php?page=videos | grep id_article=$IDART | grep title | awk -F"'" '{print $6}'`
TITRE=`echo $TITREBASE | iconv -c | tr '[àâäéèêëîïôöùûü]' '[aaaeeeeiioouuu]' | sed -e "s/[[:space:]]/_/g" | sed -e "s/\/$//" | sed -e "s/'/_/g" | sed -e "s/-/_/g" | sed -e "s/__/_/g"`
#récupération de la date de l'émission
DATE=`wget -O - -q http://www.france5.fr/c-dans-l-air/index-fr.php?page=videos | grep id_article=$IDART | grep title | awk -F= '{print $6}' | awk -F"'" '{print $1}'`
#récupération du lien mms
URL="http://www.france5.fr/c-dans-l-air/index-fr.php?"
FILE1=`wget -O - -q $URL"page=resume&id_article=$IDART" | grep mms | awk -F= '{print $4}' | awk -F"&" '{print $1}'`
#téléchargement
mimms -c $FILE1 $HOME/Vidéos/c_dans_l_air/"$DATE"_"$TITRE".wmv
#message de fin
echo message:enregistrement de c dans lair terminé| zenity --notification --listen --window-icon="info"
ensuite pour automatiser le téléchargement on utilise cron
crontab -e
et tu rajoute la ligne suivante
DISPLAY=":0.0"
# m h dom mon dow command
50 17 * * 2,3,4,5,6 lien_du/script/lescript.sh
donc le script se lancera du mardi au vendredi a 17h50 pour récupéré l'émission de la veille
et si tu utilise fcron
fcrontab -e
et ensuite
&50 17 * * 2,3,4,5,6 emplacement/du/script./cdslair.sh
Dernière modification par beudbeud (Le 13/05/2008, à 12:13)
Télécharger les émissions de Arte +7 avec Arte +7 recorder
Theme pour Ubuntu Bisigi Project
Vostro 1510 Ubuntu 10.04
Hors ligne
#100 Le 23/04/2008, à 21:39
- K -Lune noire
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
@ Mathieu pour le touchpad j'ai trouvé ça sur planet gnome : http://www.advogato.org/person/mjg59/diary.html?start=115
cela devrait m'epargner la compilation du paquet
- L'avenir appartient à ceux qui rêvent trop -
Hors ligne