{"id":1917,"date":"2016-07-20T17:11:06","date_gmt":"2016-07-20T15:11:06","guid":{"rendered":"https:\/\/www.giannifavilli.it\/blog\/?p=1917"},"modified":"2022-02-22T16:11:32","modified_gmt":"2022-02-22T15:11:32","slug":"raspberry-eseguire-browser-avvio","status":"publish","type":"post","link":"https:\/\/www.giannifavilli.it\/blog\/raspberry-eseguire-browser-avvio\/","title":{"rendered":"Raspberry eseguire browser a schermo intero ad ogni avvio"},"content":{"rendered":"<p>Questa \u00e8 una breve guida su come eseguire il un browser a schermo intero all&#8217;avvio del nostro Rasberry. Questa funzione pu\u00f2 essere utile nel caso il nostro Rasperry debba visualizzare sul monitor (lato utente) una pagina web o una web app sia locale che remota.\u00a0E&#8217; una semplicissima e utile soluzione far visualizzare direttamente sul TV\/monitor al quale \u00e8 collegato il Rasperry, una <em>semplice <\/em>pagina web a tutto schermo, senza cornici e menu. Il visualizzatore di passaggio non si render\u00e0 conto che quello che sta vendendo \u00e8 una pagina web.<\/p>\n<p>Dopo la lettura di una moltitudine di guide che proponevano<em> midori, chromium, configurazioni dell&#8217;init.d, script in python, sript in shell, utilizzo di ambienti desktop particolari, modifica dei file delle sessioni desktop, modifica del file\u00a0 bashrc,\u00a0 ecc, ecc.<\/em> ognuna delle quali aveva i suoi pro e i sui contro, sono arrivato a proporre una soluzione ibrida che ha funzionato alla perfezione. Inoltre mi trovo a scrivere questo articolo, in italiano, perch\u00e9 nelle mie ricerche ho notato che la documentazione online su questa problematica \u00e8 prevalentemente in inglese.<\/p>\n<p>Iniziamo!<\/p>\n<div class=\"clear-block\"><div class=\"ad alignnone\">\n\t\t\t\t<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n\t\t\t\t<!-- GianniFavilli - Responsive -->\n\t\t\t\t<ins class=\"adsbygoogle\"\n\t\t\t\t     style=\"display:block\"\n\t\t\t\t     data-ad-client=\"ca-pub-1205156047762515\"\n\t\t\t\t     data-ad-slot=\"6873384605\"\n\t\t\t\t     data-ad-format=\"auto\"><\/ins>\n\t\t\t\t<script>\n\t\t\t\t(adsbygoogle = window.adsbygoogle || []).push({});\n\t\t\t\t<\/script>\n\t\t\t\t<\/div><\/div>\n<p>&nbsp;<\/p>\n<p>Prima di tutto controlliamo che il nostro Raspberry pi venga avviato sull&#8217;ambiente desktop. Quello di default, <strong>LXDE-pi<\/strong>, va benissimo. Lasciamo stare ambienti desktop particolari e poco conosciuti, quindi digitiamo<\/p>\n<pre class=\"lang:sh decode:true\">sudo raspi-config<\/pre>\n<p>Selezioniamo <code>3 Enable Boot to Desktop\/Scratch<\/code><br \/>\nNella schermata successiva <code>Desktop Log in as user 'pi' at the graphical desktop<\/code><\/p>\n<p style=\"width: 100%; float: left; display: block;\"><a href=\"https:\/\/www.giannifavilli.it\/blog\/wp-content\/uploads\/2016\/07\/2016-07-20.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1927 alignleft\" src=\"https:\/\/www.giannifavilli.it\/blog\/wp-content\/uploads\/2016\/07\/2016-07-20.jpg\" alt=\"2016-07-20\" width=\"380\" height=\"229\" srcset=\"https:\/\/www.giannifavilli.it\/blog\/wp-content\/uploads\/2016\/07\/2016-07-20.jpg 600w, https:\/\/www.giannifavilli.it\/blog\/wp-content\/uploads\/2016\/07\/2016-07-20-300x181.jpg 300w\" sizes=\"auto, (max-width: 380px) 100vw, 380px\" \/><\/a><a href=\"https:\/\/www.giannifavilli.it\/blog\/wp-content\/uploads\/2016\/07\/2016-07-20-1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1929 alignleft\" src=\"https:\/\/www.giannifavilli.it\/blog\/wp-content\/uploads\/2016\/07\/2016-07-20-1.jpg\" alt=\"2016-07-20-(1)\" width=\"380\" height=\"229\" srcset=\"https:\/\/www.giannifavilli.it\/blog\/wp-content\/uploads\/2016\/07\/2016-07-20-1.jpg 600w, https:\/\/www.giannifavilli.it\/blog\/wp-content\/uploads\/2016\/07\/2016-07-20-1-300x181.jpg 300w\" sizes=\"auto, (max-width: 380px) 100vw, 380px\" \/><\/a><\/p>\n<p><code><\/code><br \/>\nAdesso il nostro Rasperry si avvier\u00e0, ad ogni boot, automaticamente in ambiente desktop sull&#8217;account <strong>pi<\/strong>.<\/p>\n<p>La soluzione <em>ibrida<\/em>\u00a0(utilizzo di applicativo, shell file e modifica di in file dell&#8217;ambiente desktop) che sto proponendo implica l&#8217;installazione di un pacchetto che si chiama <strong>xautomation<\/strong>. Questo, simula alcune azioni anche <em>meccaniche\u00a0<\/em>che un utente <em>umano<\/em> pu\u00f2 fare, per esempio la pressione di un determinato tasto. Noi lo useremo per <em>simulare<\/em> la pressione del tasto <strong>F11<\/strong> che nel caso utilizzassimo\u00a0 il browser in stock sulla Raspbian ergo <strong>epiphany<\/strong>, imposta la finestra in modalit\u00e0 a schermo intero. Quindi per installare xautomation<\/p>\n<pre class=\"lang:sh decode:true \">sudo apt-get install xautomation<\/pre>\n<p>Adesso dobbiamo creare un file shell <strong>sh<\/strong> preferibilmente all&#8217;interno della home dell&#8217;utente <strong>pi<\/strong>. In questo file, scriveremo lo script per effettuare l&#8217;apertura del browser e la pressione simulata del tasto F11.<\/p>\n<p>Per creare il file denominato con molta fantasia\u00a0<em>start_browser.sh<\/em><\/p>\n<pre class=\"lang:sh decode:true\">touch ~\/start_browser.sh<\/pre>\n<p>Apriamo il file con l&#8217;editor preferito in questo esempio utilizzo <em>nano <\/em>ma se siete gi\u00e0 in ambiente desktop possiamo utilizzate gli strumenti mesi a disposizione dalla Raspbian, dal desktop manager e dal file manager, comunque<\/p>\n<pre class=\"lang:sh decode:true\">nano ~\/start_browser.sh<\/pre>\n<p>Adesso aggiungiamo all&#8217;interno questo codice nel quale oltre i comandi ho inserito dei commenti per aiutare la comprensione.<br \/>\n<code><\/code><\/p>\n<pre class=\"lang:sh decode:true\">#!\/bin\/sh\r\n\r\n# esegue il browser epiphany sul desktop principale e apre questo blog \r\nsudo -u pi epiphany-browser -a --profile ~\/.config https:\/\/www.giannifavilli.it\/ --display=:0 &amp; \r\n# attende alcuni secondi, dobbiamo aspettare che il browser si sia correttamente avviato   \r\nsleep 15s;\r\n# xautomation simula la pressione del tasto F11 per attivare la modalit\u00e0 a schermo intero sul browser appena avviato nel desktop principale\r\nxte \"key F11\" -x:0<\/pre>\n<p>Dobbiamo rendere eseguibile questo file in maniera tale che i comandi riportati al suo interno vengano lanciati. Per far ci\u00f2 utilizziamo\u00a0il <em>chmod<\/em>.<\/p>\n<pre class=\"lang:sh decode:true \">sudo chmod 755 ~\/start_browser.sh<\/pre>\n<div class=\"clear-block\"><div class=\"ad alignnone\">\n\t\t\t\t<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n\t\t\t\t<!-- GianniFavilli - Responsive -->\n\t\t\t\t<ins class=\"adsbygoogle\"\n\t\t\t\t     style=\"display:block\"\n\t\t\t\t     data-ad-client=\"ca-pub-1205156047762515\"\n\t\t\t\t     data-ad-slot=\"6873384605\"\n\t\t\t\t     data-ad-format=\"auto\"><\/ins>\n\t\t\t\t<script>\n\t\t\t\t(adsbygoogle = window.adsbygoogle || []).push({});\n\t\t\t\t<\/script>\n\t\t\t\t<\/div><\/div>\n<p>&nbsp;<\/p>\n<p>Adesso dobbiamo far eseguire il nostro script con l&#8217;avvio dell&#8217;ambiente desktop. <strong>Raspbian<\/strong> di defaul utilizza <strong>LXDE-pi<\/strong> che \u00e8 un ambiente desktop funzionale e molto leggero, adattato e personalizzato alle esigenze e alle caratteristiche hardware del nostro Raspberry-pi. Quindi per aggiungere l&#8217;eseguzione del nostro script all&#8217;avvio del desktop manager dobbiamo modificare un file denomianto <em>autostart<\/em>, quindi digitiamo<\/p>\n<pre class=\"lang:sh decode:true\">sudo nano ~\/.config\/lxsession\/LXDE-pi\/autostart<\/pre>\n<p>A questo punto aggiungiamo alla fine questa stringa.<\/p>\n<pre class=\"lang:vim decode:true\">@\/home\/pi\/start_browser.sh<\/pre>\n<p>Adesso il nostro Rasperry, ad ogni avvio, immediatamente dopo che il desktop dell&#8217;account <b>pi<\/b> \u00e8 pronto, aprir\u00e0 il browser sull&#8217;indirizzo che avete impostato nel file shell e dopo 15 secondi la finestra del browser passer\u00e0 in modalit\u00e0 schermo intero.<\/p>\n<p>Il sistema sul quale ho utilizzato\u00a0questa soluzione \u00e8 Raspbian Jessie.<\/p>\n<p>Sperando sia utile ad altri ho proposto la soluzione su stackoverflow al seguente link<\/p>\n<p><a href=\"http:\/\/stackoverflow.com\/a\/38479772\/5974380\" target=\"_blank\" rel=\"noopener\">http:\/\/stackoverflow.com\/a\/38479772\/5974380<\/a><\/p>\n<p>Buon full screen!<\/p>\n<div class=\"clear-block\"><div class=\"ad alignnone\">\n\t\t\t\t<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n\t\t\t\t<!-- GianniFavilli - Responsive -->\n\t\t\t\t<ins class=\"adsbygoogle\"\n\t\t\t\t     style=\"display:block\"\n\t\t\t\t     data-ad-client=\"ca-pub-1205156047762515\"\n\t\t\t\t     data-ad-slot=\"6873384605\"\n\t\t\t\t     data-ad-format=\"auto\"><\/ins>\n\t\t\t\t<script>\n\t\t\t\t(adsbygoogle = window.adsbygoogle || []).push({});\n\t\t\t\t<\/script>\n\t\t\t\t<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Questa \u00e8 una breve guida su come eseguire il un browser a schermo intero all&#8217;avvio del nostro Rasberry. Questa funzione pu\u00f2 essere utile nel caso il nostro Rasperry debba visualizzare sul monitor (lato utente) una pagina web o una web app sia locale che remota.\u00a0E&#8217; una semplicissima e utile soluzione far visualizzare direttamente sul TV\/monitor al quale \u00e8 collegato il Rasperry, una semplice pagina web a tutto schermo, senza cornici e menu. Il visualizzatore di passaggio non si render\u00e0 conto che quello che sta vendendo \u00e8 una pagina web. Dopo la lettura di una moltitudine di guide che proponevano midori, chromium, configurazioni dell&#8217;init.d, script in python, sript in shell, utilizzo di ambienti desktop particolari, modifica dei file delle sessioni desktop, modifica del file\u00a0 bashrc,\u00a0 ecc, ecc. ognuna delle quali aveva i suoi pro e i sui contro, sono arrivato a proporre una soluzione ibrida che ha funzionato alla perfezione. Inoltre mi trovo a scrivere questo articolo, in italiano, perch\u00e9 nelle mie ricerche ho notato che la documentazione online su questa problematica \u00e8 prevalentemente in inglese. Iniziamo! &nbsp; Prima di tutto controlliamo che il nostro Raspberry pi venga avviato sull&#8217;ambiente desktop. Quello di default, LXDE-pi, va benissimo. Lasciamo stare ambienti desktop [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1932,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[72],"tags":[60,63,10,19,61,42],"class_list":["post-1917","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-raspberry","tag-howto","tag-informatica","tag-linux","tag-open-source","tag-raspberry","tag-risoluzione-problemi"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.giannifavilli.it\/blog\/wp-content\/uploads\/2016\/07\/raspberry-pi-logo.png","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4SGGs-uV","_links":{"self":[{"href":"https:\/\/www.giannifavilli.it\/blog\/wp-json\/wp\/v2\/posts\/1917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.giannifavilli.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.giannifavilli.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.giannifavilli.it\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.giannifavilli.it\/blog\/wp-json\/wp\/v2\/comments?post=1917"}],"version-history":[{"count":0,"href":"https:\/\/www.giannifavilli.it\/blog\/wp-json\/wp\/v2\/posts\/1917\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.giannifavilli.it\/blog\/wp-json\/wp\/v2\/media\/1932"}],"wp:attachment":[{"href":"https:\/\/www.giannifavilli.it\/blog\/wp-json\/wp\/v2\/media?parent=1917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.giannifavilli.it\/blog\/wp-json\/wp\/v2\/categories?post=1917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.giannifavilli.it\/blog\/wp-json\/wp\/v2\/tags?post=1917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}