Pet trenutno najboljih Linux distribucija

poruka: 73
|
čitano: 10.959
+/- sve poruke
ravni prikaz
starije poruke gore
Ovo je tema za komentiranje sadržaja Bug.hr portala. U nastavku se nalaze komentari na "Pet trenutno najboljih Linux distribucija".
10 godina
offline
Pet trenutno najboljih Linux distribucija

Dražene, ali vidi ovo, zaboravio sam to pokazati. Ubuntu ima lijep programčić koji se zove devhelp (mislim da se instalira sa ubuntu-om, ako ne ima ga u software centru):

 

 

 

Svi api-i koji ti trebaju, i dodaju se kako instaliraš neke stvari. Sve na jednom mjestu. Ne može jednostavnije biti. 

Samomrzeći hrvat
Poruka je uređivana zadnji put uto 29.7.2014 21:50 (Entry Point).
Moj PC  
1 0 hvala 0
16 godina
neaktivan
offline
Re: Pet trenutno najboljih Linux distribucija
Drazen kaže...
Spomenut je Gnome, Qt, GTK. Trebal bi neke svoje postojece Win aplikacije prepisat za Linux. Pod Win su mahom pisane u GDI i D2D koristeci API direktno.

 

Je znas mozda dublje jer nisam uspio pronac na webu... E sad, ne znam kak si sa Winsima ali kod njih se sve svodi na HWND (handle za window) i HDC za grafiku (uvijek kao primjer). Dal to znaci da svi "graficki" Linuxi imaju isti interface za GUI tj dal je windowing napravljen kao dio kernela te se isto tako poziva ili?

Moja 2 centa... GDI je otprilike ekvivalentan XLib-u tj. X Windows grafičkom i windowing manageru. Nemam primjer koda ovdje kod kuće, po sjećanju svodi se otprilike na x_nekakav_handle = XCreateWindow ( parametri... ), XMoveWindow ( x_handle, int pozicija xy ) itd. Ovo bi trebalo raditi praktično svugdje.

 

Windows shell je otprilike ekvivalentan Gnomeu ili KDEu.

 

Vjerojatno bi ti Qt bio dosta praktičan. Otprilike je ekvivalentan MFCu, pa tako postoje QApplication, QDialog, qt-ovski ekvivalent message mapa, qt-ovski ekvivalent dialog editora, itd. Za crtanje postoji nekakav drawing context (nažalost nisam upoznao qt toliko dobro još, zadnjih mjeseci patim se s driverima, kernelima, bootom, komandnom linijom i što već ide uz to). Deployment je krajnje sličan, možeš sve slinkati u jedan veliki exe ili manji exe + ovisni dllovi. Instalacije su krajnje slične, kao i na Windowsima sastoje se od komprimiranih fajlova i nekakve skripte koja definira što s njima napraviti.

 

15 godina
neaktivan
offline
Re: Pet trenutno najboljih Linux distribucija
Drazen kaže...

 

Je znas mozda dublje jer nisam uspio pronac na webu... E sad, ne znam kak si sa Winsima ali kod njih se sve svodi na HWND (handle za window) i HDC za grafiku (uvijek kao primjer). Dal to znaci da svi "graficki" Linuxi imaju isti interface za GUI tj dal je windowing napravljen kao dio kernela te se isto tako poziva ili?

 

Je ima neki link di je detaljnije objasnjeno kako sve to radi?

 

Kak stoji stvar sa dodavanjem vlastitih entrija u systemske pop-up menue, npr right click na txt file da prikaze neku moju opciju koja ce pozvati moj program.

 

Evo dva komentara prije ovoga su poprilično dobra no da ne bi ulazili u specifične zahtjeve, baš i nema smisla da radimo korak po korak guide u ovoj temi, ako te zanima raditi s linuxom preporučio bi ti da nastaviš raditi svoj posao u poznatoj okolini (pretpostavljam Windows/Visual Studio), a u privatnom vremenu pokušaj eksperimentirati s distribucijama, naviknuti se na rad s linuxom, shvatiti prednosti/mane/različitosti te tek onda kad se osjećaš ugodno radeći u odabranom linux okruženju, tek onda kad sam sebi možeš reći da se snalaziš približno kao u windowsu te da poznaješ što je "X", "pulseaudio", "alsa", "KDE", "Gnome", što je compositor, da li preferiraš dugotrajnu stabilnost debiana ili "svježinu" i "promjenjivost" Arch-a... E tek onda kad si "svoj na svome" lagano uzmeš nekakvu literaturu za gtk ili qt i sve će ti biti puno manje zbunjujuće i programirati ćeš bez problema.

 

Zamisli kako bi bilo objašnjavati čovjeku koji je cijeli život na OSX-u te prvi put u životu vidi Windows i odma nakon par dana klikanja želi izrađivati aplikacije za njega. Korak po korak. (Naravno ako postoji uopće želja za nabrojanim...)

 

P.S.

 

Linux biblija za početnika.

Poruka je uređivana zadnji put uto 29.7.2014 22:14 (josipva).
16 godina
neaktivan
offline
Re: Pet trenutno najboljih Linux distribucija
Drazen kaže...

Ja sam Windowsas i prije jedno 10 dana stavio sam Mint i skinul UBunut koji jos ceka svoju virtualku. Prije toga sam skinul nekoliko golih Linuxa koji vrte neke servere ala Apache.

 

Sto da kazem? Ovak, Mink izgleda ok, hrpa programa vec dolazi preinstalirana i jako mi se dopal njihov "AppStore" gdje se vrlo lako potraze programi po kategorijama. Kak sam programer (i obican papak za Linux) nije mi bio nikakav problem skinut C/C++, Qt, i CodeBlocks. Kao pod Windowsima. Gore dolazi FF 28 koji sam pokusao updatati na 29(30) ali nije islo. Otisel sam na FF stranice i tam sam skinul tar za instalaciju s kojim nisam mogel nista! Trazeci po webu nasel sam da se mora skinut FF za Mint. Eto, to je problem svih Linuxa - hrpa programa mora se napisat za svaku distru zasebno, instalacije nisu jednostavne klikom misa, itd.

Sto se tice GUIa on je vrlo daleko od Winsa ili Maca. Jako puno toga tu fali, npr navigacija putem keyboarda i mogucnosti koje su nam normalne pod Winsima. Takodjer animacije i razne druge stvari koje nisu tak bitne ali cine zivot ljepsim.

Iz recenog bih vrlo lako mogao zakljuciti da ti nisi ni 100 linija koda u zivotu nakucao, a ne da si programer, nhf.

 

Imas repozitorije (kako ti kazes "appstore") i skidaj iz njih. Sry, ali nema tu bas pretjeranog trazenja instalacijskih datoteka po internetu. Upalis softver centar i pici. Ako necega nema (a u 99% slucajeva ima), zao mi je, morat ces zasukati rukave i izguglati bilo .deb paket (s obzirom da koristis Mint) i onda, zamisli, dvokliknuti na njega i kliknuti Install ili u najgorem slucaju nesto kompajlirati.

 

Sto se tice GUI-ja, koji DE? Cinnamon, KDE, Gnome, Unity...? Ne znam na koju tocno navigaciju mislis, ali ono sto ja koristim radi sasvim ok. Alt+Tab za promjenu prozora, Alt+tilda (`) za promjenu izmedu razlicitih prozora iste aplikacije, iste kombinacije sa Shiftom za unazad, Super tipka (iliti ona na kojoj pise Start i/ili win logo) za izbor pokrenute aplikacije, ne znam sto ti jos treba? Sve ostale kombinacije ovise o aplikaciji, ove su globalne. Jos stavis app launcher kao Synapse i misa prakticno ne trebas niti koristiti.

Ovo za animacije ne bih niti komentirao.

Drazen kaže...

Vec se dulje vremena zelim posvetit programiranju pod Linuxom i uvijek problemi. Postavio sam vrlo jednostavno pitanje prijateljima koji su face u Linuxu, a ono je: "kak povuc crtu pod Linuxom u nekom windowu"? Odgovora nije bilo, tj bio je da boli glava.

Najbolji opis Linuxa dan je na ovom forumu: Linux JE KERNEL I NISTA VISE! Tocka gotovo

Kakvu crtu?

 

Da, ima onih koji inzistiraju na tome da je Linux kernel, a GNU/Linux OS.

Drazen kaže...
Evo, moja saznanja malo ucenja programiranja pod Linuxom. Za sve kaj zelis napravit moras naci neki library. Ima ih poprilicno i svaki je razlicit. Pa cak i da bi se pozvala neka kernel funkcija, recimo citanje filea, mora se pronaci library koji se compilira i onda se moze.

Grafika? E pa pod Windowsima od prvih dana (3.1) postoji GDI, pa je do danasnjih dana nadodano jos nekih 5 - 6 ala GDI+, D2D, itd. Naravno, Win8 do dana danasnjeg vuku GDI koji je full kompatibilan sa Win95 programima koji imaju velikih sansi cak i radit. Sve to pod Winsima dolazi kao dio OSa u obliku DLLova. Sve to moze se cak pozvati iz skripti, koje pod normalno, dolaze kao dio OSa. Pa ako nesto zelis jednostavno u Notepadu napises skriptu, stavis joj extenziju i dbl klik. Voila! Ozbiljno programiranje, ovdje govorim o low level koristeci API i C/C++, "zahitjeva" najbolji IDE svih vremena - Visual Studio i WinSDK koji ima header fileove za povezivanje sa DLLovima kako korisnik sam ne bi trebal pisat definicije funkcija. Oces otvorit file pozoves CreateFile, oces kreirat window CreateWindow...

A na Linuxu? E pa tu toga nema. Kao sto sam napisal zelis otvorit file moras prvo pronaci neki lib koji ce pozvat kernel funkciju. Zelis grafiku? Ha ha ha. Moras pronac i downloadat neki library kao sto su Qt ili CodeBlocks i onda mozes. Naravno, to dvoje uopce nije kompatibilno. Radi takvih stvari je hrpetina programa pod Linuxom na Javi, a i sam Android je napisao kompletnu skalameriju da bi uopce omogucio normalno koristenje. Da ne zaboravimo, sve se mora compileirat.

Velis, za sve sto zelis napraviti treba ti neki library? Nemoj se saliti, nije vrag da ti i za printf() treba stdio.h? Mislim da to ima veze s tim nekakvim libraryima, valjda.

 

Citanje fajla velis? Ja sam mislio da je tako nesto obicno dio standardne biblioteke jezika, ali ocito da nije?

C:

char c;
FILE *file;
file = fopen("test.txt", "r");
if (file) {
    while ((c = getc(file)) != EOF)
        putchar(c);
    fclose(file);
}
Oh, da, nemoj zaboraviti includeati stdio.h, kompajler bi se mogao buniti...

 

C++:

using namespace std;

ifstream inf("test.txt");

if (!inf)
{
    cerr << "Uh oh, test.txt could not be opened for reading!" << endl;
    exit(1);
}

while (inf)
{
    std::string strInput;
    inf >> strInput;
    cout << strInput << endl;
}
Ne zaboravi includeati fstream i string, kompajler ce se buniti inace.

 

Python:

file = open('test.txt', 'r')
print file.read()
Ne zaboravi importati, ugh... ma nema veze.

 

PHP:

$file_handle = fopen("myfile", "r");
while (!feof($file_handle)) {
   $line = fgets($file_handle);
   echo $line;
}
fclose($file_handle);

 

Lua:

file = io.open("test.lua", "r")
io.input(file)
print(io.read())

 

Napomena: prije nego sam ti napisao ove primjere sve sam ih testirao, ali sam prvo morao kompajlirati sve biblioteke (u slucaju Pythona, PHP-a i Lue i interpretere/VM-ove) sto mi je uzelo cijelu vecer, no nema veze. Valjda ih za pisanje nekog sljedeceg primjera necu morati ponovno kompajlirati.

 

Ozbiljno programiranje? Kakvo je onda to neozbiljno programiranje? Sva sreca pa su K&R napravili prvi Unix u VS-u, mislim da ozbiljnijeg programiranja od pisanja jednog OS-a nema! Onak totalno.

 

Ako zelis grafiku, za pocetak se mozes upoznati s alatima koji ti se nude. To bi bio dobar pocetak, da. {#}

Uostalom, Qt + odlican Qt Creator i rijesio si se pitanja GUI-ja na obje platforme. Bar sto se C/C++-a tice.

Code::Blocks nije library, onako, usput receno. Naravno, Code::Blocks je nativno graden oko wxWidgetsa sto se GUI-ja tice, ali naravski ti kao programer to znas pa si frustriran, tek tako reda radi.

 

Naravno, sve se mora kompajlirati:

http://download.qt-project.org/official_releases/online_installers/qt-opensource-linux-x64-1.6.0-4-online.run.mirrorlist

Evo, bas cekam da mi se Qt 5.3 skompajlira jer sam nesposoban klikati Next u wizardu koji se skine ovog linka iznad.

 

Oh, pricekaj minutu, idem naci neki drugi I/O library za Python i skompajlirati ga, jer mi se nekako ne svidaju funkcije koje nudi standardna biblioteka. Ovo file = open('test.txt', 'r') mi je nekako ruzno i dosadno.

...

Evo me nazad, Qt 5.3 je pri kraju s kompajliranjem, a posto nisam nasao drugi library za I/O u Pythonu, odlucio sam napisati svoj, evo potrajat ce koji dan, ali nema veze. Bitno da se kompajlira.

Drazen kaže...
Najveci problem Linuxa je sto su svi razliciti i sto nema nekog standarda i opce funkcionalnosti desktop OSa. Ovdje mislim na danas neizostavni GUI. Za servere gdje grafika nije bitna Linux je super jer se sve moze iz command linea. Karakteristika Java programa je da nema dva ista tj svaki program ima svoje graficke elemente - buttone, liste itd. Zato je tu Android koji je to sve napravio kao u Winsima da izgleda isto i radi isto.

Za opcu kucnu upotrebu Mint (i ostali graficki Linuxi) su dovoljni. Ali, kao sto sam nekoliko puta napisao, proteci ce poprilicno puno vode ispod savskog mosta dok to nece biti na nivou Win 3.1 ili MacOSa. Jako puno. I onda opet ce ih Android tuc koji je sve objedinio i koji ima hrpetinu aplikacija. Kojih, budimo realni, na Linuxu nece biti nikada.

Ima tu jos jedan problem, a on je u glavama Linuxasa. To bu najveci problem.

Mhm, sad je Linux kriv i za to sto Java ima svoje vlastite GUI toolkite, svakako. Jer Linux i Java imaju dodirnih tocaka... aha, nikakvih osim sto je Java portana na Linux, kao uostalom i na gro drugih OS-ova. Ma dovraga i sve, istina je da je Linux kriv i za izumiranje dinosaura, sve je to jedna velika urota.

 

Pitanje, jesi li ti uopce programirao u Javi? Jos bolje, u Javi na Androidu?

 

Cek, cek, ak sam dobro shvatio, usporedujes mobilni OS s desktop OS-om? Ovo vise nije ni smijesno.

Drazen kaže...
Meni osobno najveca nocna mora Linuxa je njegov file system. Boze moj, sve u folderima kojih ima hrpetina. Puno bolje rijesenje mi je pod Winsima sa driveovima. Lako se vidi kada linuxas pise program - ima milijon raznh foldera {#}

Korisno stivo {#}:

https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

Drazen kaže...

To je upravo to o cemu sam pisal.

Instalacija na Winsima il MacOSu:  dbl click na exe i proci wizard ako ga ima. Gotovo! Sve porihtano da dela

 

Linux:

 - digni command prompt

 - pocmi tipkati slijedece:

                extract u opt folder

                sudo rm -r /opt/firefox

                sudo mv firefox /opt/firefox30

                sudo ln -s /opt/firefox30/firefox /usr/bin/firefox

                Update sve ikone i shortcute

 

Sada ti meni reci, tetka u javnoj upravi to zna napravit?

Sto se tice tog tara koji si skinuo s FF stranice. Nista drugo nego kompletan FF u tar arhivi. Ono, desni klik > extract here, otvoris direktorij, dva put kliknes na FF ikonu i veselo surfas. Mozes ga staviti u home, opt ili ako te veseli na desktop. Tak je svejedno. Kakav mrtvi terminal.

Ne, na Win takve aplikacije (desni klik > extract) uopce ne postoje. /sarcasm off

 

Sada ti meni reci, zbilja mislis da tetke u javnoj upravi same sebi instaliraju programe?

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
16 godina
neaktivan
offline
Re: Pet trenutno najboljih Linux distribucija

A sad bez (ogromne doze) sarkazma, reci sto ti treba, pitaj. Uputit cemo te, pa ces vidjeti da nije sve tako crno. {#}

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
15 godina
neaktivan
offline
Pet trenutno najboljih Linux distribucija

Uh, uh, paljba {#}

 

Što je najgore ja sam još i naviknuo na ovakve... 70% kolega nije vidjelo CPU u živo, 60% nije nikad instaliralo Windowse, shvaćanje da su sve to libraryi je Sci-fi, a sve budući magistri računalstva {#}

 
1 0 hvala 0
10 godina
protjeran
offline
Pet trenutno najboljih Linux distribucija

 

1. Mint

2. Opensuse

3. Ubuntu

4. Debian

5.  svi ostali...

 

:-)

 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Pet trenutno najboljih Linux distribucija

Malo ste fulali o čemu je Dražen pričao. Radi se o jednostavnoj stvari da je Linux kernel a distribucije su distribucije. I nema garancija koje će sve biblioteke biti prisutne a koje će biti potrebno naknadno instalirati. Za puno stvari ne postoji neki standardni unificirani način kako se radi (banalan primjer - GUI, može GTK, može Qt, može TK, FLTK... Audio da i ne spominjem). Činjenica da se sva ta zavrzlama prikriva iza kojekakvih repozitorija specifičnih za neku distru me baš ne tješi.

 

Pod winsima je taj minimalni set garantirano prisutne funkcionalnosti puno, puno veći, pokriveno je više toga. Točno se zna što dolazi sa svakom instalacijom a što se treba naknadno dodati. I zna se kako je raspoređeno po verzijama, u biti se ništa ne izbacuje nego set standardne funkcionalnosti samo raste iz verzije u verziju. Tako da znaš da imaš X od win95 nadalje, Y od win2000 nadalje, Z od Viste nadalje. Teško je samo tako zaboraviti na to kada te to jednom razmazi...

 

Možeš li ikako napisati GUI aplikaciju koja će raditi na *svim* linux distribucijama (ajmo se ograničiti na platformu x86_32 kako bi uvjeti bili fer) izašlih u zadnjih 15 godina, uz garanciju da neće biti potrebno ništa dodatno instalirati nego će raditi takva kakva jest odmah "iz kutije"? I to sve bez da napišeš hrpu koda koji pokriva svaku verziju svake moguće GUI biblioteke, pa onda configure skriptom detektiraš što je zapravo prisutno i kompajliraš za to, i po mogućnosti bez da distribuiraš GUI biblioteku zajedno sa aplikacijom.

 

Dodatni plus se nudi za distribuciju takve kompajlirane izvršne datoteke (dakle bez kompajliranja za svaku distru ponaosob) koja radi na svakoj distri.

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
Poruka je uređivana zadnji put sri 30.7.2014 2:16 (rustweaver).
15 godina
neaktivan
offline
Re: Pet trenutno najboljih Linux distribucija
rustweaver kaže...

Možeš li ikako napisati GUI aplikaciju koja će raditi na *svim* linux distribucijama (ajmo se ograničiti na platformu x86_32 kako bi uvjeti bili fer) izašlih u zadnjih 15 godina, uz garanciju da neće biti potrebno ništa dodatno instalirati nego će raditi takva kakva jest odmah "iz kutije"? I to sve bez da napišeš hrpu koda koji pokriva svaku verziju svake moguće GUI biblioteke, pa onda configure skriptom detektiraš što je zapravo prisutno i kompajliraš za to, i po mogućnosti bez da distribuiraš GUI biblioteku zajedno sa aplikacijom.

 

Dodatni plus se nudi za distribuciju takve kompajlirane izvršne datoteke (dakle bez kompajliranja za svaku distru ponaosob) koja radi na svakoj distri.

VLC

14 godina
neaktivan
offline
Re: Pet trenutno najboljih Linux distribucija
josipva kaže...

VLC

Znači programski kod rezultira jednim univerzalnim executableom koji svugdje radi?

 

EDIT: sad baš gledam source i čini se da koristi X direktno te da implementira neke vlastite GUI kontrole za tu potrebu, zanimljivo.

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
Poruka je uređivana zadnji put sri 30.7.2014 2:47 (rustweaver).
15 godina
neaktivan
offline
Re: Pet trenutno najboljih Linux distribucija

Ne znam detaljno, nisam nikad gledao. Znam samo da apsolutno uvijek i na svakoj distribuciji mi je radio "out of box" nakon obične instalacije.

13 godina
offline
Re: Pet trenutno najboljih Linux distribucija
Drazen kaže...
Sto da kazem? Ovak, Mink izgleda ok, hrpa programa vec dolazi preinstalirana i jako mi se dopal njihov "AppStore" gdje se vrlo lako potraze programi po kategorijama. Kak sam programer (i obican papak za Linux) nije mi bio nikakav problem skinut C/C++, Qt, i CodeBlocks. Kao pod Windowsima. Gore dolazi FF 28 koji sam pokusao updatati na 29(30) ali nije islo. Otisel sam na FF stranice i tam sam skinul tar za instalaciju s kojim nisam mogel nista! Trazeci po webu nasel sam da se mora skinut FF za Mint. Eto, to je problem svih Linuxa - hrpa programa mora se napisat za svaku distru zasebno, instalacije nisu jednostavne klikom misa, itd.

Sto se tice GUIa on je vrlo daleko od Winsa ili Maca. Jako puno toga tu fali, npr navigacija putem keyboarda i mogucnosti koje su nam normalne pod Winsima. Takodjer animacije i razne druge stvari koje nisu tak bitne ali cine zivot ljepsim.

 

Koristim Ubuntu (na poslovnom laptopu) i Mint (na kućnom) na oba uređaja se kroz update sustava Firefox updateao na verziju 30 s koje sada pišem.

 

Što se tiče hrpe programa koji se moraju pisati za svaku distribuciju zasebno, promašio si ceo fudbal, ako neki program radi bez problema pod jednom distribucijom 99% će raditi i pod nekom drugom. Kako? Pa programer si shvatit ćeš već kako, mala pomoć Alien.

 

Inače, članak tipičan za ljetnu oseku.

Stručnjak za odmaganje...
10 godina
protjeran
offline
Pet trenutno najboljih Linux distribucija

 

Mario, ako te mogu pitati,  zakaj ubuntu na poslovnom a mint na privatnom  ?  Smatras ubuntu pouzdanijim ili neki drugi razlog  ...   ?

 
0 0 hvala 0
13 godina
offline
Re: Pet trenutno najboljih Linux distribucija
bunkermax kaže...

 

Mario, ako te mogu pitati,  zakaj ubuntu na poslovnom a mint na privatnom  ?  Smatras ubuntu pouzdanijim ili neki drugi razlog  ...   ?

Odgovara mi. Naviknuo sam se na Unity, verzija je 14.04 LTs (5 godina suporta). Na kućnom je Mint s Windows XP temom i većinu vremena ga koriste ostali ukućani.

Stručnjak za odmaganje...
16 godina
neaktivan
offline
Pet trenutno najboljih Linux distribucija

Decki thanks na linkovima i uputama.

 

Domagoj je naveo primjer uporabe stdliba za rad sa fileovima. Sve to znam ali pod Windowsima mozes koristiti i API, CreateFile.

Kolko sam vidil po nekim uputama za Linux tamo se file moze otvorit koristeci  open(...) koji direktno poziva kernel. Sam u pravu?

 

Ja pod Windowsima mahom radim koristeci API direktno i koristim STL i WTL. MFC je bio jako davno.

 

 

Ono kaj mene muci je sto sam citav zivot na Winsima i zivim u njihovom svijetu. Pod Winsima (znaci pricam SAMO o desktop aplikacijama i grafiku uzimam samo kao primjer) sve se desava u windowu, a crta se u DC.

 

// kreira se window u koji se crta

HWND hWnd = CreateWindowEx("mojaWndKlasa", ....);

// crtanje je u DC (device context) - ovo je pojednostavljeno

HDC dc = GetDC(hWnd);

Rectangle(dc, 0, 0, 100, 100);     // nacrta rectangle 100x100 i filla ga u izabranoj boji

 

Ovo gore je pozivanje grafickog APIa direktno. Recimo WTL i MFC kao libovi interno takodjer pozivaju API ali je dosta toga skriveno klasama.

 

Mislim da bi tak nekaj moralo biti i pod Linuxom i sada me muci dal sve distre imaju isti API jer aplikacija nekako mora znati gdje ce crtat, a OS mora znat koji joj dio ekrana pripada (gore spomenut HWND je OSov handle). Jasno da ako se koristi neki lib, ala Qt, gdje je sve skriveno ali mene zanima ovaj "low level" dio price.

 

Vrlo jednostavno pitanje. Ako napisem aplikaciju koristeci GTK na Mintu dal bu ona bez ikakvih prepravaka (compiliranja kak sam prije pisao) automatski radila i na svim drugim distrama?

Recimo,cout << "neki text";  operator << ce pozvati Linuxovu funkciju za upis u file, odnosno write(), koji ce pak izvrsit neki syscall u kernelu za upis. To naravno radi jer su svi syscallovi isti. Dal je tak i za ostalo, npr grafiku?

Recimo pod Winsima API zove kernel koristeci interrupt 2E ili sysenter na x86.

 

Sorry ak su neke gluposti napisane jer, kao sto rekoh, zivim u Win svijetu.

 

 
0 0 hvala 0
16 godina
neaktivan
offline
Pet trenutno najboljih Linux distribucija

Onda vjerojatno želiš ovo: http://tronche.com/gui/x/xlib/ Ima slične probleme kao i GDI: nema načina da se animacija sinhronizira s v-syncom; može biti ali često nije hardverski akceleriran; ne podržava išta naprednije kao učitavanje jpega.

 

Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: Pet trenutno najboljih Linux distribucija
rustweaver kaže...

Malo ste fulali o čemu je Dražen pričao. Radi se o jednostavnoj stvari da je Linux kernel a distribucije su distribucije. I nema garancija koje će sve biblioteke biti prisutne a koje će biti potrebno naknadno instalirati. Za puno stvari ne postoji neki standardni unificirani način kako se radi (banalan primjer - GUI, može GTK, može Qt, može TK, FLTK... Audio da i ne spominjem). Činjenica da se sva ta zavrzlama prikriva iza kojekakvih repozitorija specifičnih za neku distru me baš ne tješi.

 

Pod winsima je taj minimalni set garantirano prisutne funkcionalnosti puno, puno veći, pokriveno je više toga. Točno se zna što dolazi sa svakom instalacijom a što se treba naknadno dodati. I zna se kako je raspoređeno po verzijama, u biti se ništa ne izbacuje nego set standardne funkcionalnosti samo raste iz verzije u verziju. Tako da znaš da imaš X od win95 nadalje, Y od win2000 nadalje, Z od Viste nadalje. Teško je samo tako zaboraviti na to kada te to jednom razmazi...


Možeš li ikako napisati GUI aplikaciju koja će raditi na *svim* linux distribucijama (ajmo se ograničiti na platformu x86_32 kako bi uvjeti bili fer) izašlih u zadnjih 15 godina, uz garanciju da neće biti potrebno ništa dodatno instalirati nego će raditi takva kakva jest odmah "iz kutije"? I to sve bez da napišeš hrpu koda koji pokriva svaku verziju svake moguće GUI biblioteke, pa onda configure skriptom detektiraš što je zapravo prisutno i kompajliraš za to, i po mogućnosti bez da distribuiraš GUI biblioteku zajedno sa aplikacijom.

Dodatni plus se nudi za distribuciju takve kompajlirane izvršne datoteke (dakle bez kompajliranja za svaku distru ponaosob) koja radi na svakoj distri.

Svakako. Linux je kernel, distribucije su distribucije. Zato Debian recimo inzistira na tome da su oni "GNU/Linux distro", a ne "Linux distro". Sve standardne biblioteke su gore. Ukoliko ti treba neka posebna, GUI npr. imas par opcija. Kao sto si i sam naveo GTK+, Qt, Tk... I sto se GUI-ja tice to je super. Mogu se drzati onoga sto mi je draze i bolje. Sigurno si primjetio da je to Qt, sto se mene tice. Najvise zbog toga sto imaju odlican IDE (Qt Creator) i sto je glavni jezik C++ (postoji i Python binding - PyQt, pa i bindingi za druge jezike, ali to je vec druga prica). Druga stvar, to je kompletan application framework i daleko je odmaknuo od onoga "samo GUI". Samo neki dodatni moduli su npr. Qt Network koji nudi mreznu apstrakciju, Qt Multimedia koji nudi klase za audio, video i funkcionalnosti kamere, Qt SQL koji nudi klase za integraciju s SQL bazama podataka, Qt Test - klase za unit testing, itd.

Dakle, zelis GUI? Imas GTK+, imas Qt, imas wxWidgetse, sto god vise preferiras i zelis, no u praksi se situacija vecinom svodi na GTK+ vs. Qt. Koji god izaberes neces pogrijesiti (u smislu da su to dva najpopularnija frameworka koja su u svim distrama).

Audio je katastrofa, svakako.

 

Ne, ne mozes jer ne postoji distra koja je toliko stara, a da se jos uvijek odrzava (osim rolling release distri kod kojih je uostalom i besmisleno govoriti o verzijama). Cak ni kod Debiana. A to da li ces morati nesto dodatno instalirati ovisi iskljucivo o tebi kao developeru. Ako koristis u svojoj aplikaciji OpenCV, normalno da ces morati dodatno povuci opencv biblioteke jer nema te distre koja defaultno dolazi s tim bibliotekama instaliranima. Zasto bi uopce i dolazila? Ne znam bas da se puno ljudi iz zezancije bavi racunalnim vidom. Ako koristis GStreamer npr., svakako da neces morati dodatno instalirati tu biblioteku jer svaka moderna distra dolazi s njom.

 

Ako radis u Qt-u, pa netko s Gnomeom zeli instalirati tvoju aplikaciju, naravno da ce morati povuci dodatnih 50-ak MB biblioteka, no to je cijena koristenja jednog takvog frameworka. Nije da je na Win nesto drugacije kad se aplikacija napise u .NET-u pa da u tom slucaju ne moram skidati kakvih 100-tinjak MB ili koliko je .NET vec tezak. Itekako moram. S Qt-om bar portam aplikaciju na Win uz minimalne promjene ako ih uopce i moram raditi.

 

Ciljaj Ubuntu distru (pogledaj Valve recimo ili odnedavno GoG, sluzbeno podrzavaju samo Ubuntu, nesluzbeno radi na svim distrama - na nekima s malo tweakanja, citaj: Arch) i s tim si pokrio Kubuntu, Xubuntu i ostale *buntu distre, Mint, elementaryOS i jos neke manje bitne. Onako, izvadit cu brojku iz sup*a, 90% njih. Paketi i paketni menadzer su ti prijatelji. Obicno se rade deb i rpm paketi (za Debian based i Red Hat based distre), ali neces pogrijesiti ako napravis samo deb paket. Ionako je vecina na Debian based distrama, a postoje i alati koji automatizirano pretvaraju jedne pakete u druge i obrnuto. Za Arch korisnike se ne trebas brinuti, daj im deb paket i zacas ce ti aplikacija biti u AUR-u.


Kao primjer kojim se osobno vodim je Clementine: http://www.clementine-player.org/downloads

Nude pakete za Debian, Ubuntu i Fedoru, dakle deb i rpm pakete i s tim su pokriveni, pa... gotovo svi korisnici. Jedino sto ti kao developer trebas napraviti je conf file za pojedinacni paket. Kod ti je isti jer pricamo o Qt-u koji je prisutan na svim tim distrama. Na temelju conf fajla paketni menadzer se pobrine da svi dependency-ji budu zadovoljeni. Eh, sad ako ti koristis bleeding edge verziju Qt-a (5.3), a u svim repozitorijima svih distri (osim Archa i slicnih, no njih ne racunamo) je aktualan Qt 4, onda sry, imas mali problemcic. U tom ces se slucaju morati malo potruditi da bi stvar radila (vlastiti PPA i sl.). Uostalom, kao i kod programiranja na Androidu, sve je to divno krasno, backward compatibility, ovo-ono, dok ne upotrijebis neku metodu koje nema u starijem API-ju (a koji zelis podrzati). E, onda opet imas mali problemcic.

 

Umjesto Qt-a koji sam koristio po cijelom postu, mozes ubaciti i GTK+ ili sto vec, ali s obzirom da mi je Qt najbliza tehnologija koristih ga kao primjer.

 

tl;dr - uzmes dvije najpopularnije distre (tri u slucaju Clementinea) i napravis pakete za svaku. Cak niti dvije ne trebas, uzmes samo Ubuntu. Nije toliko puno posla kako se cini (pogotovo kad jednom napravis kostur), jer budimo iskreni, nisu niti verzije biblioteka toliko razlicite na svim tim distrama koliko se ovdje to pokusava naglasiti. Jos ce na kraju ispasti da svaka instalacija iste verzije distre ima razlicite verzije biblioteka. {#}

 

Za dodatni plus, ovako nesto? {#}

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
16 godina
neaktivan
offline
Re: Pet trenutno najboljih Linux distribucija

Da, tako je. Postoje funkcije open(), read() i write(). Vise mozes naci ovdje.

No, ja bih ti ipak preporucio da koristis standardne funkcije - fopen(), fread(), fwrite(), itd. Iz par razloga: fopen ti pruza built-in buffering, fopen se brine o zavrsetku linije (ne-binarni mod), sto je korisno kad radis na vise platformi (Unix i unixoidi koriste samo LF, dok DOS/Win koriste CR i LF), fopen vraca FILE* s kojim mozes koristiti ostale stdio funkcije (fseek i druge), k svemu tome mozda ces morati kod portati na neko okruzenje koje ne podrzava specificne pozive vec samo ANSI pozive. Vidi odgovore ovdje.

Eh, sad ovisi sto tebi treba konkretno.

 

Tako je, u pravu si, postoji zajednički API koji se brine za iscrtavanje, a to je X11 iliti X Window System. Svi frameworki (GTK+, Qt, itd.) su radeni nad X11. Naravno, radeni su i nad WinAPI-jem jer GTK+/Qt aplikaciju mozes kompajlirati i na/za Win. Takoder su napisani i nad Waylandom, no to je vec druga prica.

 

Glede pitanja, procitaj moj prijasnji post o paketima, trebalo bi biti jasnije. Uglavnom, da. Ciljas Ubuntu/Debian, napravis paket i paketni menadzer ce se pobrinuti za dependency-je ako takvih ima. Paketi su, ajmo to tako reci, ono sto je na Win setup.exe.

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
Poruka je uređivana zadnji put sri 30.7.2014 20:53 (1domagoj1).
9 godina
offline
Pet trenutno najboljih Linux distribucija

Pošto sam pročitao cijelu raspravu imam jedno jednostavno pitanje. Da li jednom prosječnom korisniku (tipa moj stari koji niti engleski ne zna i koristi računalo za gledanje filmova, čitanje vjesti i tu i tamo pokrene neki specijalizirani softver koji koristi kao automehaničar) preporučujete LINUX ili Windows?

 

 

Emilio Estavez
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Pet trenutno najboljih Linux distribucija
Emilio Estavez kaže...

Pošto sam pročitao cijelu raspravu imam jedno jednostavno pitanje. Da li jednom prosječnom korisniku (tipa moj stari koji niti engleski ne zna i koristi računalo za gledanje filmova, čitanje vjesti i tu i tamo pokrene neki specijalizirani softver koji koristi kao automehaničar) preporučujete LINUX ili Windows?

 

 

Ovo prvo će radit, kaj se tiče tog softvera to je pitanje, no meni recimo autodata radi bez beda preko WINE-a. (doduše malo zna zeznut ponekad onaj gumb za natrag (sakrije se iza ostalih prozora),ali ne predstavlja mi to neki veliki problem).

Usput,reci koji točno program pa ti možemo pogledat.

@modovi, Sunce se okreće oko Zemlje,ne?
Poruka je uređivana zadnji put sri 30.7.2014 23:33 (zerocool12).
14 godina
neaktivan
offline
Pet trenutno najboljih Linux distribucija

@domagoj, kužim na što ciljaš, ali se ne uspijevam osloboditi windows pogleda na razvoj i distribuciju aplikacija koji je doista "compile once, run everywhere" ako se samo malo kontroliraš. Sustavi su, budući da dolaze iz samo jednog izvora, toliko ujednačeni i standardizirani da možeš unaprijed i kirurškom preciznošću predvidjeti što koji od njih ima, a što ćeš morati dodatno upakirati u instalaciju aplikacije.

 

Ovo što si spomenuo o distribuciji koja se više ne održava je točno to. Meni je to neprirodno, takve situacije su mi nešto nakraradno. Sva moja iskustva sa "linux načinom" razvijanja i distribucije softvera su se u biti dogodila u kontroliranim uvjetima, na windowsima (msys, gcc, autotools...). Do sada sam Linux uvijek samo koristio, nisam se još nikada igrao developera na njemu, niti razvijao za Linux. Još će na kraju ispasti da će mi to biti najveći kamen spoticanja...

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
 
0 0 hvala 0
9 godina
offline
Pet trenutno najboljih Linux distribucija

Stvar je ta da on sav softver mora platiti i to mu je dosta veliki trošak, ako bi mogao kosristiti LINUX to bi mu bilo puno jeftinije. Program se zove TIS 2000, to je Opelov (GM) softver koji ima legalno i koristi ga kod zeznutih kvarova. Program se spaja s uređajem za dijagnostiku TECH 2. 

 

Fala na odgovoru!

Emilio Estavez
Moj PC  
0 0 hvala 0
12 godina
offline
Pet trenutno najboljih Linux distribucija

Program je podrzan iskljucivo na professional verzijama Windowsa od XP SP3 na ovamo.

S obzirom da se radi o poslu a program koristi autorizacijski USB stick ne preporucam nikakvo kemijanje sa Linuxom i emulatorima.

Za sve ostale radnje koje si naveo postoje besplatni windows programi.

 
1 0 hvala 0
15 godina
offline
Pet trenutno najboljih Linux distribucija

Nego, jel se mak'o Linux sa onih 0.1% ili koliko vec?

Rvat katolik!
 
0 2 hvala 0
9 godina
offline
Pet trenutno najboljih Linux distribucija

Hvala na savjetu. Trenutno se sve vrti na Windowsima NT, pa je mislio kupiti novi komp i software. Pošto linux ne dolazi u obzir uzet će Windowse 7 professional ...

 

Emilio Estavez
Moj PC  
0 0 hvala 0
12 godina
offline
Re: Pet trenutno najboljih Linux distribucija
tnakir kaže...

Nego, jel se mak'o Linux sa onih 0.1% ili koliko vec?

je

10 godina
offline
Re: Pet trenutno najboljih Linux distribucija
tnakir kaže...

Nego, jel se mak'o Linux sa onih 0.1% ili koliko vec?

Sad je na 0.11%

Samomrzeći hrvat
15 godina
offline
Re: Pet trenutno najboljih Linux distribucija
Entry Point kaže...
tnakir kaže...

Nego, jel se mak'o Linux sa onih 0.1% ili koliko vec?

Sad je na 0.11%

Ajde, drago mi je da to ide naprijed.

Rvat katolik!
12 godina
offline
Pet trenutno najboljih Linux distribucija

zamisli da windowsi skoce 10% :)

 
0 0 hvala 0
9 godina
offline
Pet trenutno najboljih Linux distribucija

Meni je jako žao što OS NeXTSTEP nikad nije saživio, a imao je veliki potencijal ...

Emilio Estavez
Moj PC  
0 0 hvala 0
Nova poruka
E-mail:
Lozinka:
 
vrh stranice