Quickloox

Dal mondo Apple all'universo digitale, in visualizzazione rapida dell'ovvio

31 mar 2016

Barra a dritta

Su Windows 10 sarà presto possibile usare bash, la shell (il programma di interfaccia a riga di comando) che è da sempre prerogativa di Linux e OS X contiene dalla nascita, anno 2000, per usarla come preimpostata credo da una decina d’anni.

Il commento serio lo lascio a Federico.

Per una e una sola volta, mi permetto una battuta senza spiegarla: avranno un bel daffare a raddrizzare le barre.

briand06

Che differenza (a parte il numero di versione) ci potrà mai essere fra la bash di Ubuntu e tutte le altre bash? Mah! Non ho nemmeno bisogno di leggere l'articolo originale per capire che non c'è nulla di serio dentro.
Non credo proprio che questa notizia spingerà gli utenti che non vogliono avere nulla a che fare con Windows 10 a correre a frotte ad installarlo.

Inoltre, chi volesse avere già oggi un ambiente unix-like su Windows -- su una qualunque versione di Windows, da XP in poi -- può installare Cygwin e avere finalmente un Terminale degno di questo nome con bash come shell di default, tutti i tool di sviluppo basati su gcc, e centinaia di applicativi di qualità che arrivano da Linux/Unix.

paoloo

Briand in generale non credi che avere una funzionalità integrata nel sistema sia meglio di dover ricorre a un applicazione esterna?

Fëarandil

La differenza è che hanno fatto un'estensione del kernel NT per far girare i binari (non compilati, binari) Ubuntu, e solo Ubuntu, non BDS o Fedora. Nel pratico installi i binari di Apache compilati per Ubuntu che non parlano con qualche layer di mezzo tipo VM o con un ricompilato per Windows, ma proprio con il kernel NT. Vuol dire che sviluppare software per kernel NT (almeno a livello Enterprise) diventa meno appetibile: meglio fare appliance binari per Ubuntu e puoi usare lo OS che preferisci.

Fëarandil

Comunque dal sito di Cygwin:
Cygwin is not:
• a way to run native Linux apps on Windows. You must rebuild your application from source if you want it to run on Windows.
• a way to magically make native Windows apps aware of UNIX® functionality like signals, ptys, etc. Again, you need to build your apps from source if you want to take advantage of Cygwin functionality.

Esattamente il contrario di quanto fatto da MS.

briand06

@Fëarandil: non capisco esattamente cosa possa mai significare "far girare i binari (non compilati, binari) Ubuntu, e solo Ubuntu, non BDS o Fedora".

Su Linux una applicazione può (può!) essere compilata in modo statico e contenere al suo interno tutte le dipendenze (librerie, etc.). Oppure, come è più comune, può appoggiarsi a librerie condivise esterne, sia del sistema che installate a parte come dipendenze [1]. Tutto questo è gestito automaticamente dall'installatore dei pacchetti, dpkg e apt su Ubuntu, che si incarica di scaricare ed installare le dipendenze dei pacchetti in corso di installazione. Far girare il solo binario non è possibile, se non ci sono anche le librerie accessorie (a meno di programmi semplicissimi). Qundi per far girare i binari di Ubuntu su Windows, devono aver implementato un meccanismo di installazione e di gestione delle dipendenze analogo a dpkg/apt di Ubuntu (e, by the way, di Cygwin). A quel punto uno usa Ubuntu e stop. Oppure Debian e simili, i cui pacchetti hanno lo stesso formato (ci sono differenze ma lasciamo perdere).

Inoltre: un programma binario è un programam compilato (e linkato) non capisco. E se è compilato insieme a tutte le sue librerie può anche girare su BSD o Fedora. Non è sempre possibile ma si può fare abbastanza spesso.

[1] Per la cronaca, OS X implementa un mecacnismo diverso che è stato usato anche in alcune distribuzioni di Linux: l'applicazione è costituita da una serie di directory annidate che contengono sia il binario che le librerie richieste. Questo aumenta la dimensione dei programmi ma consente di installare un programma senza curarsi di dipendenze e quant'altro.

briand06

@Fëarandil: Certo che bisogna ricompilare le applicazioni di Linux per farle girare sotto Cygwin. Ma il sistema contiene già centinaia e centinai di applicazioni già ricompilate e pronte all'uso. Se MS usa i bnari di Ubuntu, fa ancora meno di quello che fa Cygwin.

briand06

@paoloo: Dipende da come è fatta. Se è fatta male (stiamo parlando di MS, in fondo) meglio un tool esterno fatto con competenza. O no?

Fëarandil

@briand06 Hanno fatto un pezzo di kernel che riproduce le chiamate del Kernel Linux (senza codice open, riscritte da zero, parrebbe). Si parla dei binari Ubuntu perché usano le librerie Ubuntu, potrai usare yum/apt/oquelcheè che usa Ubuntu per installare binari direttamente dal repository. Certo che è meglio di Cygwin, sulla carta è una porta spalancata a Unix. Attenzione però che parliamo solo di Bash, non di X11, quindi LAMP, Ruby, Python.
http://windows.hdblog.it/2016/03/31/microsoft-bash-windows-10-demo-video/

briand06

Hanno fatto un pezzo di kernel che riproduce le chiamate del Kernel Linux (senza codice open, riscritte da zero, parrebbe)
Mah!

Attenzione però che parliamo solo di Bash, non di X11, quindi LAMP, Ruby, Python
Quindi solo roba che c'è già, in mille versioni diverse, anche su Windows. Ri-mah!

paoloo

Al di là di ironie e pregiudizi su Windows , non credo che una cosa del genere così integrata nel sistema (a livello kernel) possa essere fatta male, appunto non è un applicazione, o funziona e basta o non la fai.

Facciamo finta che è fatta bene.. immagino, fra le altre cose, quanto possa essere comodo per amministratori Linux usare al volo un pc Windows10 qualunque per collegarsi via ssh al proprio sistema, ma anche qualsiasi utente avvezzo ad usare i comandi bash, poter usare il proprio know how anche su Windows, farci girare qualcuno dei propri script shell.

Non credo si possa denigrare una funzionalità del genere.

Hai presente Briand quando Apple crea qualcosa di nuovo, nascono polemiche spesso sterili e tu rispondi: se vuoi la usi, se non vuoi non la usi nessuno ti obbliga.

Bhè qui siamo in un caso simile, hai ancora la possibilità di usare qualsiasi altro tool alternativo in merito.

Fëarandil

Continuiamo a girare intorno al succo: MS sta mettendo a rischio (secondo me volutamente) tutto il mercato server e developer. A mio avviso è il primo passo per diventare un fornitori di servizi e lasciar perdere gli OS. Office gira su tutto, Xbox gira su PC e console (e per me girerà su tutto), su windows girano le app di tutti (e quindi nessuno avrà interesse a farle native), i loro software server varranno meno (chi installa IIS invece che Apache a sto punto?). Il mercato degli OS mi pare di capire che non sia più troppo remunerativo e loro lo stanno, finalmente, mollando.

paoloo

Io ci vedo anche delle mosse un tempo considerate, diciamo, inusuali da parte di Microsoft per non perdere rilevanza in un mondo dominato ormai sempre più dal mobile, campo dove Microsoft è praticamente inesistente.

Vi ricordate il famoso 1997 quando Apple (Jobs) se ne uscì dicendo che amava Microsoft, che Microsoft era ed è sempre stata il partner migliore di Apple.. ecco, con le dovute proporzioni, oggi Microsoft ama Linux (come riportato da una loro slide) ed è destinata a dispensare amore a destra e a sinistra, prima strizzando l'occhio ad Android e poi a iOs, poi a Ubuntu/Canonical e chissà a chi altro.

Eh MICROSOFT.. non è più come un tempo.

briand06

@paoloo: "se vuoi la usi, se non vuoi non la usi nessuno ti obbliga"
Grazie per la citazione, peccato non aumenti il mio h-index... :(
A parte gli scherzi, hai ragione. Però non mi sembra di aver criticato MS per quello che sta facendo, sostengo solo che non è una novità. Chi vuole può usare cygwin, ssh e decine di altri tool unix-like già oggi senza necessariamente usare Windows 10. Per dire di più dovrei leggere gli articoli in tema, ma francamente in questo momento mi da l'impressione di perdere solo tempo. Un domani, chissà, panta rei...

briand06

@Fëarandil: "Il mercato degli OS mi pare di capire che non sia più troppo remunerativo e loro lo stanno, finalmente, mollando"
Può darsi, francamente non ne ho idea. Anche se mi sembra che i soldi veri li facciano con le versioni OEM di Windows, non certo con le poche copie che vendono post-vendita. Un po' come Apple che i soldi li fa con l'hardware. Non è certo un caso che ora l'aggiornamento a Windows 10 lo diano gratis (anche qui copiando Apple).

avariatedeventuali

@paoloo SJ non ha mai amato Microsoft ma amava lisciare il pelo a Bill Gates quando gli faceva comodo ricevere qualcosa in cambio. Nel caso specifico gli serviva un browser web, outlook e la suite office. Poi con OsX l'idillio è finito e Microsoft è diventata semplicemente inutile.

paoloo

Nel caso specifico gli serviva un browser web, outlook e la suite office.

E 150 milioni di dollari in cassa con la vendita a Microsoft del 7% di azioni AAPL senza diritto di voto. Direi.

avariatedeventuali

Più o meno quanto servisse a Microsoft per scansare lo smembramento per posizione dominante del mercato. Era l'epoca in cui in quel MS si siglavano accordi sottobanco per far preinstallare exploder su ogni fottuto pc, come pure uinzoz e outlook. Piuttosto era forse vero il contrario, BG aveva ed ha una sorta di venerazione per SJ nonostante questi fosse un caterpillar irrispettoso quando voleva imporre la sua visione e i suoi obiettivi, a torto o a ragione. Next docet. Un fallimento commerciale, una fucina per il futuro. Ma che SJ abbia anche solo rispettato MS per una frazione di secondo se non per una questione di comodo ho i miei seri dubbi...

Fëarandil

Cygwin NON è la stessa cosa, Cygwin è come Homebrew: una sotto-distribuzione ricompilata. Qua hanno inserito un'estensione del kernel che fa girare i binari. Mamma mia, che fatica, propio non lo vedete.....

paoloo

Ho visto ho visto vado a stappare lo champagne

A parte gli scherzi sarà qualcosa di molto utile IMHO, e l' implementazione così a basso livello garantirà prestazioni massime rispetto a qualsiasi altra soluzione equivalente, sempre IMHO.

Fëarandil

Non ci capiamo, da qui la mia frustrazione e non è colpa di chi legge, passare i concetti è difficile. Non sono le prestazioni, è il fatto che sia sempre disponibile (e a breve lo sarà). Una cosa su cui gli sviluppatori possono contare e fare sviluppo su. Se iniziamo a fare software con backend Apache in locale? Solo un esempio.

paoloo

Finalmente ho capito.

È un po' come se Apple integrasse WINE in OS X, integrazione fatta bene ad ogni livello anche grafico Quartz/Window Server, e il mondo sviluppatori tutto d'un tratto potrebbe contare sul fatto che d'ora in avanti il Mac possa far girare applicazioni Windows nativamente diciamo.

Il paragone ti rende frustrato Fearandil ?

paoloo

certo il paragone valica il confine delle linee di comando ma ci può stare

Frustrato?

paoloo

certo portare windows su Mac in questa maniera interesserebbe solo a sviluppatori di applicazioni con gui

portare linux su Windows10 interessa altri tipi di sviluppatori, lato server, amministratori di sistema, programmatori back end, di servizi, quelli che fanno girare la Rete e non solo..

ma il paragone a livello tecnico ci sta tutto o no?

Fearandil? Frustrato?

Fëarandil

Frustrato di non avere il dono di spiegarmi meglio. Il paragone tecnico può anche starci (anche se insomma), ma non è il punto.... sigh.

avariatedeventuali

La differenza tra avere un auto nativa metano/benzina e quella di convertire un auto a benzina in una metano benzina. Nessuna ditta esterna deve mettere mani a centralina, distribuzione, mappature, scocca, etcert. Ritiri l'auto, fai il pieno e parti.

paoloo

@avariate adesso fearandil entra in depressione. Ora. Poi si butta dal balcone.

Fëarandil

Neppure: è il fatto che ci sia e sia ufficialmente supportato che fa la differenza. Se devi sviluppare un'appliance server non fai più una versione Windows: facendola per Ubuntu ottimizzi i costi. Si, ora dicono che è solo per sviluppo e non per server, ma una cosa così non è che la ri-infili nel vaso. In ogni caso o sono stupidi, e non credo, o hanno un piano a lungo termine con Canonical.

briand06

the company has developed some Windows kernel components (lxcore.sys, lxss.sys, presumably standing for "Linux core" and "Linux subsystem," respectively) that support the major Linux kernel APIs. These components ... implement the Linux kernel API using the native Windows NT API that the Windows kernel provides. Microsoft is calling this the "Windows Subsystem for Linux" (WSL).
E secondo MS questo basta a far girare i binari? Un kernel è, come dice il nome, solo il nucleo del SO. Una parte minima (in termini dimensionali e di funzioni) di tutto il SO. Dove sono tutte le librerie condivise, le dipendenze, i tool di sviluppo?

Canonical has provided a system image containing the Ubuntu versions of the various command-line tools that are typically found in a Linux distribution.
Se invece è questo, praticamente è un emulatore, come quello di XP integrato in Windows 8.x.

paoloo

Secondo me sono più stupidi quelli di Canonical.

Comunque cosa vieta a Microsoft di mantenere questa funzionalità e supportarla fino alla fine dei giorni di Windows desktop?

Secondo me dal punto di vista di Microsoft è una mossa strategica geniale.

Dal punto di vista Canonical.. per spingere ancor di più Ubuntu fra le distribuzioni Linux? Meh.
Secondo me si dà la zappa sui piedi.

briand06

@Fëarandil: Scusa ma che senso ha oggi preoccuparsi di queste cose, con il web imperante e la connessione 24h/24? Se fai una applince server fai una versione, e poi la usi da web senza preoccuparti di Windows, OSX, Linux, Android, iOS. O no?

Fëarandil

Sicuramente non sono stato chiaro: MS sta mollando i desktop, come IBM ha mollato i PC. Faranno solo servizi, Office 365 ne è il primo esempio. Xbox scommetto diventerà una "scatola software" per giochi e Windows una "scatola software" su cui far girare i programmi "seri".

paoloo

Ecco arriviamo al nocciolo di tutta la questione finalmente: @fearandil tu ti spieghi di merda. Non si può dire con altre parole.

No il Dono non ce l'hai.. è prerogativa di pochi eletti.

Possiedi tutti i pregi di questo mondo tranne quello della Spiegazione.

Cosa intendi per "scatola software" messo fra virgolette in un improvviso sussulto di consapevolezza?? Questi idiomi linguistici inventati al volo.

Fëarandil

Un concetto non ancora attualizzato? Un qualcosa che intravedo ma non so cosa sia esattamente? Sicuramente un "Antani" che gira su più piattaforme e che permette di scrivere software, pardon App, per qualsiasi cosa lo faccia girare. Non so cosa sia esattamente, ma sicuramente non è ne una VM, ne un linguaggio interpretato, ne un ambiente di sviluppo e basta. Potrebbe essere un chromebook solo software? Windows ritengo che si trasferirà al 90% nel cloud, giusto quello che serve a far partire la macchina, il resto... via, nella rete. Mi spiace, so di spiegarmi di merda :D

In ogni caso mi pare evidente che come Apple è passata da essere Mac centrica a iCloud centrica per il concetto di Hub Digitale, MS sta passando da Wintel centrica a WinCloud centrica e se domani presentano delle kext per MacOS che permettono di lanciare le applicazioni Windows (il grande spirito ce ne scampi) non mi stupirei.

paoloo

Va bene.. Io credo che tu possa darti da solo la ragione che meriti. Io non ce la faccio.

paoloo

Non sapevo mica di trovarmi di fronte a un maestro della supercazzola. Mi hai tenuto a discorso per ore maledetto..
È un arte anche questa.

briand06

Ieri ho dato una rapida occhiata alla questione, anche se non sono riuscito a separare bene le storie vere da quelle da primo aprile (il che già dice molto). Da quanto ho capito è in effetti più o meno un emulatore (anche se non lo vogliono chiamarlo così), perché c'è uno strato software -- lxcore.sys, lxss.sys, e chissà che altro -- su cui gira l'immagine di Ubuntu. Quindi: un emulatore.
Non è nemmeno una novità, anni fa c'era Wubi, un progetto guarda caso sempre di Canonical/Ubuntu, che permetteva di far girare Ubuntu come se fosse una applicazione per Windows. È chiaro che lo hanno rivenduto alla MS in altra forma.

paoloo

Sii più preciso briand.. Una scatola software allora. Una scarpiera a due ante binaria, nello specifico.

Commenta