[bash] skrypt startujący firefoxa
Ostatnio zmodyfikowano 2016-01-26 17:42
mateczek Temat założony przez niniejszego użytkownika |
[bash] skrypt startujący firefoxa » 2016-01-26 11:56:37 Muszę odpalić mały kiosk na ubuntuserver (zabezpieczenia się nie liczą ma wyglądać i jakoś działać). Dodam, że skrypty w bash to nie moja mocna strona :) naskrobałem taki skrypcik
#!/bin/sh xset -dpms // to wyłączanie ekran aby nie gasł xset s off // jak wyżej while true ; do firefox 192.168.0.20/magazyn/index_s1.php done
1. firefox jest z dodatkiem Rkiosk. 2. skrypt jest dodany do pliku autostrart w srodowisku openbox. 3 ale czasem zdarza się, że zaczyna w nieskończoność uruchamiać nowe okna firefoxa!!! ktoś ma pomysł jak poprawnie rozwiązać ponowne odpalenie Firefoxa po zamknięciu !!! |
|
mateczek Temat założony przez niniejszego użytkownika |
» 2016-01-26 17:42:51 dobra zabawę z bash zostawiam na późniejsze potem!!! tymczasowo klepnąłem w qt-c++ mały konsolowy programik do startowania firefoxa Firefox ma to do siebie, że działa jako jeden proces !!! To znaczy, że jeśli uruchomimy Firefoxa jeszcze raz, a proces istnieje to istniejący proces odpali nowe okno a nowo utworzony proces się zamyka (ten mechanizm prowadzi do zapętlenia i zawalenia pulpitu okienkami w przypadku normalnego startowania procesu!!!) plik nagłówkowy klasy myApplication mapp.h #ifndef MAPP_H #define MAPP_H #include<QCoreApplication> #include<QProcess> #include<QFile>
class mApp : public QCoreApplication { Q_OBJECT QProcess * fproc; const QString progName { "/usr/bin/firefox" }; const QStringList wwwSite { { "localhost" }, { "-P marek" }, { "-no-remote" } }; const QStringList killffox { { "firefox" } }; public: mApp( int argc, char * argv[] ); ~mApp(); signals: public slots: void ffoxClose( int a ); };
#endif
plik źródłowy klasy myApplication #include "mapp.h" #include<QFileInfo>
mApp::mApp( int argc, char * argv[] ) : QCoreApplication( argc, argv ) { fproc = new QProcess( this ); QFileInfo lock( "/home/tygrysy/.mozilla/firefox/marek/lock" ); if( lock.isSymLink() ) { fproc->start( "killall", killffox ); fproc->waitForFinished(); } fproc->start( progName, wwwSite ); connect( fproc, SIGNAL( finished( int ) ), this, SLOT( ffoxClose( int ) ) ); }
mApp::~mApp() { fproc->close(); fproc->destroyed(); }
void mApp::ffoxClose( int a ) { QFileInfo lock( "/home/tygrysy/.mozilla/firefox/marek/lock" ); if( !lock.isSymLink() ) { fproc->start( progName, wwwSite ); } }
funkcja main !!! #include "mapp.h"
int main( int argc, char * argv[] ) { mApp a( argc, argv ); return a.exec(); }
|
|
« 1 » |