TL; DR: అప్లికేషన్ డైరెక్టరీల వంటి అప్లికేషన్ ప్యాకేజీలకు హైకూ సరైన మద్దతును పొందగలదా (వంటి .app Macలో) మరియు/లేదా అప్లికేషన్ చిత్రాలు (Linux AppImage)? చాలా మౌలిక సదుపాయాలు ఇప్పటికే అమలులో ఉన్నందున ఇది ఇతర వ్యవస్థల కంటే సరిగ్గా అమలు చేయడం సులభం అని నేను భావిస్తున్నాను.
ఒక వారం క్రితం నేను ఊహించని విధంగా మంచి వ్యవస్థ అయిన హైకూను కనుగొన్నాను. బాగా, నేను చాలా కాలంగా డైరెక్టరీలు మరియు అప్లికేషన్ చిత్రాలపై ఆసక్తిని కలిగి ఉన్నాను (మాకింతోష్ యొక్క సరళత ద్వారా ప్రేరణ పొందింది), నా మదిలో ఒక ఆలోచన రావడంలో ఆశ్చర్యం లేదు...
పూర్తి అవగాహన కోసం, నేను AppImage యొక్క సృష్టికర్త మరియు రచయితను, ఇది Mac సరళత కోసం ఉద్దేశించబడిన Linux అప్లికేషన్ డిస్ట్రిబ్యూషన్ ఫార్మాట్ మరియు అప్లికేషన్ రచయితలు మరియు తుది వినియోగదారులకు పూర్తి నియంత్రణను ఇస్తుంది (మీరు మరింత తెలుసుకోవాలనుకుంటే, చూడండి వికీ и డాక్యుమెంటేషన్).
మనం హైకూ కోసం యాప్ ఇమేజ్ని తయారు చేస్తే?
కొంచెం, పూర్తిగా సిద్ధాంతపరంగా ఆలోచిద్దాం: పొందడానికి ఏమి చేయాలి AppImage, లేదా అలాంటిదేమైనా, హైకూలో ఉందా? ఇప్పుడే ఏదైనా సృష్టించాల్సిన అవసరం లేదు, ఎందుకంటే ఇప్పటికే హైకూలో ఉన్న సిస్టమ్ అద్భుతంగా పనిచేస్తుంది, అయితే ఒక ఊహాత్మక ప్రయోగం బాగుంటుంది. ఇది Linux డెస్క్టాప్ పరిసరాలతో పోలిస్తే, హైకూ యొక్క అధునాతనతను కూడా ప్రదర్శిస్తుంది, అటువంటి విషయాలు చాలా కష్టంగా ఉంటాయి (నాకు అలా చెప్పే హక్కు ఉంది: నేను 10 సంవత్సరాలుగా డీబగ్గింగ్తో పోరాడుతున్నాను).
Macintosh సిస్టమ్ 1లో, ప్రతి అప్లికేషన్ ఫైండర్లో "నిర్వహించబడే" ప్రత్యేక ఫైల్. AppImageని ఉపయోగించి నేను Linuxలో అదే వినియోగదారు అనుభవాన్ని మళ్లీ సృష్టించడానికి ప్రయత్నిస్తున్నాను.
ముందుగా, AppImage అంటే ఏమిటి? ఇది థర్డ్-పార్టీ అప్లికేషన్లను విడుదల చేసే సిస్టమ్ (ఉదాహరణకు, అల్టిమేకర్ క్యూరా), అప్లికేషన్లు ఎప్పుడు మరియు ఎలా కావాలో విడుదల చేయడానికి అనుమతిస్తుంది: వివిధ పంపిణీల యొక్క ప్రత్యేకతలు తెలుసుకోవడం, విధానాలను రూపొందించడం లేదా మౌలిక సదుపాయాలను రూపొందించడం అవసరం లేదు, నిర్వహణ మద్దతు అవసరం లేదు మరియు వారు ఏమి ఇన్స్టాల్ చేయగలరో (కాదు) వినియోగదారులకు చెప్పరు. వారి కంప్యూటర్లలో. AppImage అనేది ఫార్మాట్లోని Mac ప్యాకేజీకి సమానమైనదిగా అర్థం చేసుకోవాలి .app డిస్క్ ఇమేజ్ లోపల .dmg. ప్రధాన వ్యత్యాసం ఏమిటంటే, అప్లికేషన్లు కాపీ చేయబడవు, కానీ హైకూ ప్యాకేజీల వలె ఎప్పటికీ AppImage లోపల ఉంటాయి. .hpkg మౌంట్ చేయబడింది మరియు సాధారణ అర్థంలో ఎప్పుడూ ఇన్స్టాల్ చేయబడలేదు.
10 సంవత్సరాల కంటే ఎక్కువ ఉనికిలో, AppImage కొంత ఆకర్షణ మరియు ప్రజాదరణ పొందింది: లైనస్ టోర్వాల్డ్స్ స్వయంగా దీనిని బహిరంగంగా ఆమోదించారు మరియు సాధారణ ప్రాజెక్ట్లు (ఉదాహరణకు, LibreOffice, Krita, Inkscape, Scribus, ImageMagick) దీనిని ప్రధాన మార్గంగా స్వీకరించాయి. ఇన్స్టాల్ చేయబడిన లేదా అన్ఇన్స్టాల్ చేసిన వినియోగదారు అప్లికేషన్లతో జోక్యం చేసుకోకుండా, నిరంతర లేదా రాత్రిపూట బిల్డ్లను పంపిణీ చేయడానికి. అయినప్పటికీ, Linux డెస్క్టాప్ పరిసరాలు మరియు పంపిణీలు ఇప్పటికీ సాంప్రదాయ, కేంద్రీకృత నిర్వహణ-ఆధారిత పంపిణీ నమూనాకు కట్టుబడి ఉంటాయి మరియు/లేదా వారి స్వంత సంస్థ వ్యాపారం మరియు/లేదా ఇంజినీరింగ్ ప్రోగ్రామ్ల ఆధారంగా ప్రచారం చేస్తాయి. Flatpak (RedHat, Fedora, GNOME) మరియు క్లిష్టమైన (కానానికల్, ఉబుంటు). అది వస్తుంది హాస్యాస్పదంగా.
ఇవన్నీ ఎలా పని చేస్తాయి
ప్రతి AppImage 2 భాగాలను కలిగి ఉంటుంది: ఒక చిన్న డబుల్-క్లిక్ ELF (అని పిలవబడేది. runtime.c), ఫైల్ సిస్టమ్ ఇమేజ్ తర్వాత స్క్వాష్ఎఫ్ఎస్.
SquashFS ఫైల్ సిస్టమ్ అప్లికేషన్ యొక్క పేలోడ్ మరియు దానిని అమలు చేయడానికి అవసరమైన ప్రతిదాన్ని కలిగి ఉంది, ఇది సరైన మనస్సులో ప్రతి ఇటీవలి లక్ష్య సిస్టమ్ (Linux పంపిణీ) కోసం డిఫాల్ట్ ఇన్స్టాలేషన్లో భాగంగా పరిగణించబడదు. ఇది అప్లికేషన్ పేరు, చిహ్నాలు, MIME రకాలు మొదలైనవి వంటి మెటాడేటాను కూడా కలిగి ఉంటుంది.
వినియోగదారుచే అమలు చేయబడినప్పుడు, ఫైల్సిస్టమ్ను మౌంట్ చేయడానికి రన్టైమ్ FUSE మరియు స్క్వాష్ఫ్యూజ్లను ఉపయోగిస్తుంది, ఆపై మౌంట్ చేయబడిన AppImage లోపల కొంత ఎంట్రీ పాయింట్ (అకా AppRun)ని నిర్వహిస్తుంది.
ప్రక్రియ పూర్తయిన తర్వాత ఫైల్ సిస్టమ్ అన్మౌంట్ చేయబడింది.
ప్రతిదీ సరళంగా అనిపిస్తుంది.
మరియు ఈ విషయాలు ప్రతిదీ క్లిష్టతరం చేస్తాయి:
అటువంటి అనేక రకాల Linux పంపిణీలతో, "సరియైన మనస్సులో" ఏదీ "ప్రతి కొత్త లక్ష్య సిస్టమ్ కోసం డిఫాల్ట్ ఇన్స్టాలేషన్లో భాగం" అని పిలవబడదు. మేము నిర్మించడం ద్వారా ఈ సమస్యను పరిష్కరిస్తాము మినహాయించువాడు, AppImageలో ఏది ప్యాక్ చేయబడుతుందో మరియు వేరే చోట ఏది తీసుకోవాలో నిర్ణయించడానికి మిమ్మల్ని అనుమతిస్తుంది. అదే సమయంలో, సాధారణంగా, ప్రతిదీ గొప్పగా పనిచేసినప్పటికీ, మేము కొన్నిసార్లు కోల్పోతాము. ఈ కారణంగా, ప్యాకేజీ సృష్టికర్తలు అన్ని లక్ష్య సిస్టమ్లలో (డిస్ట్రిబ్యూషన్లు) AppImagesని పరీక్షించాలని మేము సిఫార్సు చేస్తున్నాము.
అప్లికేషన్ పేలోడ్లు తప్పనిసరిగా ఫైల్ సిస్టమ్లో రీలొకేట్ చేయబడాలి. దురదృష్టవశాత్తూ, చాలా అప్లికేషన్లు హార్డ్-కోడెడ్ సంపూర్ణ మార్గాలను కలిగి ఉన్నాయి, ఉదాహరణకు, ఇన్సోర్స్లు /usr/share. దీన్ని ఎలాగైనా పరిష్కరించాలి. అదనంగా, మీరు తప్పనిసరిగా ఎగుమతి చేయాలి LD_LIBRARY_PATH, లేదా పరిష్కరించండి rpath తద్వారా లోడర్ సంబంధిత లైబ్రరీలను కనుగొనవచ్చు. మొదటి పద్ధతి దాని లోపాలను కలిగి ఉంది (ఇది సంక్లిష్ట మార్గాల్లో అధిగమించబడుతుంది), మరియు రెండవది కేవలం గజిబిజిగా ఉంటుంది.
వినియోగదారులకు అతిపెద్ద UX ఆపద ఎక్జిక్యూటబుల్ బిట్ సెట్ డౌన్లోడ్ చేసిన తర్వాత AppImage ఫైల్. నమ్మండి లేదా కాదు, ఇది కొందరికి నిజమైన అడ్డంకి. ఎగ్జిక్యూటబిలిటీ బిట్ని సెట్ చేయాల్సిన అవసరం అనుభవజ్ఞులైన వినియోగదారులకు కూడా గజిబిజిగా ఉంటుంది. ప్రత్యామ్నాయంగా, AppImage ఫైల్లను పర్యవేక్షించే మరియు వాటి ఎగ్జిక్యూటబిలిటీ బిట్ను సెట్ చేసే చిన్న సేవను ఇన్స్టాల్ చేయమని మేము సూచించాము. దాని స్వచ్ఛమైన రూపంలో, ఇది ఉత్తమ పరిష్కారం కాదు, ఎందుకంటే ఇది పెట్టె నుండి పని చేయదు. Linux డిస్ట్రిబ్యూషన్లు ఈ సేవను అందించవు, కాబట్టి, వినియోగదారులు బాక్స్ వెలుపల చెడు అనుభవాన్ని కలిగి ఉన్నారు.
లైనక్స్ యూజర్లు కొత్త అప్లికేషన్ స్టార్టప్ మెనూలో ఐకాన్ కలిగి ఉండాలని ఆశిస్తున్నారు. మీరు సిస్టమ్కి చెప్పలేరు: "చూడండి, కొత్త అప్లికేషన్ ఉంది, పని చేద్దాం." బదులుగా, XDG స్పెసిఫికేషన్ ప్రకారం, మీరు ఫైల్ను కాపీ చేయాలి .desktop సరైన స్థానానికి /usr సిస్టమ్-వైడ్ ఇన్స్టాలేషన్ కోసం లేదా ఇన్ $HOME వ్యక్తిగత కోసం. XDG స్పెసిఫికేషన్ ప్రకారం నిర్దిష్ట పరిమాణాల చిహ్నాలను కొన్ని ప్రదేశాలలో ఉంచాలి usr లేదా $HOME, ఆపై ఐకాన్ కాష్ను అప్డేట్ చేయడానికి పని వాతావరణంలో ఆదేశాలను అమలు చేయండి లేదా వర్కింగ్ ఎన్విరాన్మెంట్ మేనేజర్ దాన్ని గుర్తించి, ప్రతిదాన్ని స్వయంచాలకంగా గుర్తిస్తారని ఆశిస్తున్నాము. MIME రకాలతో కూడా అదే. ప్రత్యామ్నాయంగా, అదే సేవను ఉపయోగించాలని ప్రతిపాదించబడింది, ఇది ఎక్జిక్యూటబిలిటీ ఫ్లాగ్ను సెట్ చేయడంతో పాటు, చిహ్నాలు ఉంటే మొదలైనవి. AppImageలో, వాటిని AppImage నుండి XDG ప్రకారం సరైన ప్రదేశాలకు కాపీ చేయండి. తొలగించబడినప్పుడు లేదా తరలించబడినప్పుడు, సేవ అన్నింటినీ క్లియర్ చేస్తుంది. వాస్తవానికి, ప్రతి పని వాతావరణం యొక్క ప్రవర్తనలో తేడాలు ఉన్నాయి, గ్రాఫిక్ ఫైల్ ఫార్మాట్లు, వాటి పరిమాణాలు, నిల్వ స్థానాలు మరియు కాష్లను నవీకరించే పద్ధతులు, ఇది సమస్యను సృష్టిస్తుంది. సంక్షిప్తంగా, ఈ పద్ధతి ఒక ఊతకర్ర.
పైన పేర్కొన్నవి సరిపోకపోతే, ఫైల్ మేనేజర్లో ఇప్పటికీ AppImage చిహ్నం లేదు. Linux ప్రపంచం ఇంకా elficonను అమలు చేయాలని నిర్ణయించుకోలేదు (అయితే చర్చ и అమలు), కాబట్టి చిహ్నాన్ని నేరుగా అప్లికేషన్లో పొందుపరచడం అసాధ్యం. కాబట్టి ఫైల్ మేనేజర్లోని అప్లికేషన్లకు వాటి స్వంత చిహ్నాలు లేవని తేలింది (తేడా లేదు, AppImage లేదా మరేదైనా), అవి ప్రారంభ మెనులో మాత్రమే ఉన్నాయి. ప్రత్యామ్నాయంగా, మేము థంబ్నెయిల్లను ఉపయోగిస్తున్నాము, ఇది డెస్క్టాప్ మేనేజర్లు గ్రాఫిక్ ఫైల్ల థంబ్నెయిల్ ప్రివ్యూ చిత్రాలను వారి చిహ్నాలుగా చూపించడానికి అనుమతించడానికి రూపొందించబడిన ఒక మెకానిజం. పర్యవసానంగా, ఎక్జిక్యూటబిలిటీ బిట్ను సెట్ చేసే సేవ "మినియేటరైజర్"గా కూడా పని చేస్తుంది, తగిన స్థానాలకు ఐకాన్ థంబ్నెయిల్లను సృష్టించడం మరియు వ్రాయడం /usr и $HOME. AppImage తొలగించబడినా లేదా తరలించబడినా కూడా ఈ సేవ క్లీనప్ చేస్తుంది. ప్రతి డెస్క్టాప్ మేనేజర్ కొద్దిగా భిన్నంగా ప్రవర్తిస్తారనే వాస్తవం కారణంగా, ఉదాహరణకు, ఏ ఫార్మాట్లలో ఇది చిహ్నాలను అంగీకరిస్తుంది, ఏ పరిమాణాలు లేదా ప్రదేశాలలో, ఇవన్నీ నిజంగా బాధాకరమైనవి.
లోపాలు సంభవించినట్లయితే అప్లికేషన్ కేవలం అమలులో క్రాష్ అవుతుంది (ఉదాహరణకు, బేస్ సిస్టమ్లో భాగం కాని మరియు AppImageలో సరఫరా చేయని లైబ్రరీ ఉంది), మరియు GUIలో వినియోగదారుకు సరిగ్గా ఏమి జరుగుతుందో ఎవరూ చెప్పడం లేదు. మేము దీనిని ఉపయోగించడం ద్వారా చుట్టుముట్టడం ప్రారంభించాము ప్రకటనలను డెస్క్టాప్లో, అంటే మనం కమాండ్ లైన్ నుండి లోపాలను పట్టుకోవాలి, వాటిని వినియోగదారు అర్థం చేసుకున్న సందేశాలుగా మార్చాలి, ఆపై వాటిని డెస్క్టాప్లో ప్రదర్శించాలి. మరియు వాస్తవానికి, ప్రతి డెస్క్టాప్ పర్యావరణం వాటిని కొద్దిగా భిన్నంగా నిర్వహిస్తుంది.
ప్రస్తుతానికి (సెప్టెంబర్ 2019 - అనువాదకుని గమనిక) ఫైల్ని సిస్టమ్కు చెప్పడానికి నాకు సులభమైన మార్గం కనుగొనబడలేదు 1.png కృతా ఉపయోగించి తెరవాలి, మరియు 2.png - GIMP ఉపయోగించి.
ఉపయోగించిన క్రాస్-డెస్క్టాప్ స్పెసిఫికేషన్ల కోసం నిల్వ స్థానం GNOME, కెడిఈ и XFCE freedesktop.org
స్పెసిఫికేషన్ల కారణంగా హైకూ పని వాతావరణంలో లోతుగా అల్లిన అధునాతన స్థాయిని సాధించడం కష్టం, అసాధ్యం కాకపోయినా. freedesktop.org నుండి XDG క్రాస్-డెస్క్టాప్ కోసం, అలాగే ఈ స్పెసిఫికేషన్ల ఆధారంగా డెస్క్టాప్ మేనేజర్ల అమలు. ఉదాహరణగా, మేము ఒక సిస్టమ్-వైడ్ ఫైర్ఫాక్స్ చిహ్నాన్ని ఉదహరించవచ్చు: స్పష్టంగా, XDG రచయితలు ఒక వినియోగదారు ఒకే అప్లికేషన్ యొక్క అనేక వెర్షన్లను ఇన్స్టాల్ చేయవచ్చని కూడా అనుకోలేదు.
Firefox యొక్క విభిన్న సంస్కరణల కోసం చిహ్నాలు
సిస్టమ్ ఇంటిగ్రేషన్ను అడ్డుకోవడానికి Mac OS X నుండి Linux ప్రపంచం ఏమి నేర్చుకోగలదని నేను ఆశ్చర్యపోతున్నాను. మీకు సమయం ఉంటే మరియు ఈ పనిలో నిమగ్నమైతే, మొదటి Mac OS X ఇంజనీర్లలో ఒకరైన ఆర్నాడ్ గుర్డోల్ ఏమి చెప్పారో తప్పకుండా చదవండి:
అప్లికేషన్ చిహ్నాన్ని ఎక్కడి నుండైనా (సర్వర్, ఎక్స్టర్నల్ డ్రైవ్) మీ కంప్యూటర్ డ్రైవ్లోకి లాగినంత సులభంగా అప్లికేషన్ను ఇన్స్టాల్ చేయాలనుకుంటున్నాము. దీన్ని చేయడానికి, అప్లికేషన్ ప్యాకేజీ ఐకాన్లు, వెర్షన్, ప్రాసెస్ చేయబడుతున్న ఫైల్ రకం, అప్లికేషన్ను ప్రాసెస్ చేయడానికి సిస్టమ్ తెలుసుకోవలసిన URL స్కీమ్ల రకంతో సహా మొత్తం సమాచారాన్ని నిల్వ చేస్తుంది. ఇది ఐకాన్ సర్వీసెస్ మరియు లాంచ్ సర్వీసెస్ డేటాబేస్లో 'సెంట్రల్ స్టోరేజ్'కి సంబంధించిన సమాచారాన్ని కూడా కలిగి ఉంటుంది. పనితీరుకు మద్దతుగా, అప్లికేషన్లు అనేక 'తెలిసిన' ప్రదేశాలలో 'కనుగొనబడతాయి': సిస్టమ్ మరియు వినియోగదారు అప్లికేషన్ల డైరెక్టరీలు మరియు అప్లికేషన్ను కలిగి ఉన్న డైరెక్టరీలోని ఫైండర్కి వినియోగదారు నావిగేట్ చేస్తే స్వయంచాలకంగా మరికొన్ని. ఆచరణలో ఇది చాలా బాగా పనిచేసింది.
https://youtu.be/qQsnqWJ8D2c Apple WWDC 2000 సెషన్ 144 - Mac OS X: ప్యాకేజింగ్ అప్లికేషన్లు మరియు ప్రింటింగ్ డాక్యుమెంట్లు.
Linux డెస్క్టాప్లలో ఈ మౌలిక సదుపాయాలు ఏవీ లేవు, కాబట్టి మేము AppImage ప్రాజెక్ట్లోని నిర్మాణ పరిమితుల చుట్టూ పరిష్కారాల కోసం చూస్తున్నాము.
హైకూ సహాయానికి వస్తోందా?
మరియు మరొక విషయం: డెస్క్టాప్ ఎన్విరాన్మెంట్ల ఆధారంగా Linux ప్లాట్ఫారమ్లు చాలా తక్కువగా పేర్కొనబడ్డాయి, స్థిరమైన పూర్తి-స్టాక్ సిస్టమ్లో చాలా సరళంగా ఉండే అనేక విషయాలు Linuxలో నిరాశాజనకంగా విభజించబడ్డాయి మరియు సంక్లిష్టంగా ఉంటాయి. డెస్క్టాప్ ఎన్విరాన్మెంట్ల కోసం Linux ప్లాట్ఫారమ్కు సంబంధించిన సమస్యలకు నేను పూర్తి నివేదికను కేటాయించాను (అవన్నీ చాలా కాలం పాటు అలాగే ఉంటాయని పరిజ్ఞానం ఉన్న డెవలపర్లు ధృవీకరించారు).
2018లో Linux డెస్క్టాప్ పరిసరాల సమస్యలపై నా నివేదిక
వర్క్స్పేస్ ఆలోచన ఎందుకు విఫలమైందని లినస్ టోర్వాల్డ్స్ కూడా ఫ్రాగ్మెంటేషన్ అని ఒప్పుకున్నాడు.
హైకూ చూడటం ఆనందంగా ఉంది!
హైకూ ప్రతిదీ అద్భుతంగా సులభం చేస్తుంది
హైకూకు AppImageని "పోర్టింగ్" చేయడానికి అమాయకమైన విధానం కేవలం దాని భాగాలను (ప్రధానంగా runtime.c మరియు సేవ) నిర్మించడానికి ప్రయత్నించడం (ఇది కూడా సాధ్యమే కావచ్చు!), ఇది హైకూకు ఎక్కువ ప్రయోజనాన్ని అందించదు. ఎందుకంటే నిజానికి ఈ సమస్యలు చాలా వరకు హైకూలో పరిష్కరించబడ్డాయి మరియు సంభావితంగా మంచివి. Linux డెస్క్టాప్ ఎన్విరాన్మెంట్లలో నేను చాలా కాలంగా వెతుకుతున్న సిస్టమ్ ఇన్ఫ్రాస్ట్రక్చర్ బిల్డింగ్ బ్లాక్లను హైకూ ఖచ్చితంగా అందిస్తుంది మరియు అక్కడ లేవని నమ్మలేకపోయాను. అవి:
నమ్మినా నమ్మకపోయినా, ఇది చాలా మంది Linux వినియోగదారులు అధిగమించలేని విషయం. హైకూలో ప్రతిదీ ఆటోమేటిక్గా జరుగుతుంది!
ఎక్జిక్యూటబిలిటీ బిట్ లేని ELF ఫైల్లు ఫైల్ మేనేజర్లో డబుల్ క్లిక్ చేసినప్పుడు ఆటోమేటిక్గా ఒకదాన్ని పొందుతాయి.
అప్లికేషన్లు ఫైల్ మేనేజర్లో ప్రదర్శించబడే చిహ్నాల వంటి అంతర్నిర్మిత వనరులను కలిగి ఉండవచ్చు. చిత్రాల సమూహాన్ని చిహ్నాలతో ప్రత్యేక డైరెక్టరీలలోకి కాపీ చేయవలసిన అవసరం లేదు మరియు అప్లికేషన్ను తొలగించిన తర్వాత లేదా తరలించిన తర్వాత వాటిని శుభ్రం చేయవలసిన అవసరం లేదు.
పత్రాలతో అప్లికేషన్లను లింక్ చేయడానికి డేటాబేస్ ఉంది, దీని కోసం ఏ ఫైల్లను కాపీ చేయవలసిన అవసరం లేదు.
ఎక్జిక్యూటబుల్ ఫైల్ పక్కన ఉన్న lib/ డైరెక్టరీలో, లైబ్రరీలు డిఫాల్ట్గా శోధించబడతాయి.
అనేక పంపిణీలు మరియు డెస్క్టాప్ పరిసరాలు లేవు; ఏది పనిచేసినా, ప్రతిచోటా పని చేస్తుంది.
అప్లికేషన్ల డైరెక్టరీకి భిన్నంగా అమలు చేయడానికి ప్రత్యేక మాడ్యూల్ లేదు.
అనువర్తనాలు వాటి వనరులకు అంతర్నిర్మిత సంపూర్ణ మార్గాలను కలిగి ఉండవు; అవి రన్టైమ్లో స్థానాన్ని నిర్ణయించడానికి ప్రత్యేక విధులను కలిగి ఉంటాయి.
కంప్రెస్డ్ ఫైల్ సిస్టమ్ ఇమేజ్ల ఆలోచన పరిచయం చేయబడింది: ఇది ఏదైనా hpkg ప్యాకేజీ. అవన్నీ కెర్నల్ ద్వారా మౌంట్ చేయబడ్డాయి.
మీరు స్పష్టంగా పేర్కొనకపోతే, ప్రతి ఫైల్ దానిని సృష్టించిన అప్లికేషన్ ద్వారా తెరవబడుతుంది. ఇది ఎంత బాగుంది!
రెండు png ఫైల్లు. రెండుసార్లు క్లిక్ చేసినప్పుడు అవి వేర్వేరు అప్లికేషన్ల ద్వారా తెరవబడతాయని సూచించే విభిన్న చిహ్నాలను గమనించండి. "దీనితో తెరవండి:" డ్రాప్-డౌన్ మెనుని కూడా గమనించండి, ఇక్కడ వినియోగదారు వ్యక్తిగత అప్లికేషన్ను ఎంచుకోవచ్చు. ఎంత సింపుల్!
Linuxలో AppImageకి అవసరమైన అనేక ఊతకర్రలు మరియు పరిష్కారాలు హైకూలో అనవసరంగా మారినట్లు కనిపిస్తోంది, ఇది మన అవసరాలను చాలా వరకు నిర్వహించేలా సరళత మరియు అధునాతనతను కలిగి ఉంటుంది.
హైకూకి యాప్ ప్యాకేజీలు అవసరమా?
ఇది పెద్ద ప్రశ్నకు దారి తీస్తుంది. Linux కంటే హైకూలో AppImage వంటి సిస్టమ్ను సృష్టించడం చాలా సులభం అయితే, అది చేయడం విలువైనదేనా? లేదా హైకూ, దాని hpkg ప్యాకేజీ వ్యవస్థతో అటువంటి ఆలోచనను అభివృద్ధి చేయవలసిన అవసరాన్ని సమర్థవంతంగా తొలగించిందా? సరే, సమాధానం ఇవ్వడానికి మనం AppImages ఉనికి వెనుక ఉన్న ప్రేరణను చూడాలి.
వినియోగదారు దృక్కోణం
మన తుది వినియోగదారుని చూద్దాం:
నేను అడ్మినిస్ట్రేటర్ (రూట్) పాస్వర్డ్ అడగకుండానే అప్లికేషన్ను ఇన్స్టాల్ చేయాలనుకుంటున్నాను. హైకూలో అడ్మినిస్ట్రేటర్ అనే కాన్సెప్ట్ లేదు, ఇది వ్యక్తిగత వ్యవస్థ కాబట్టి వినియోగదారుకు పూర్తి నియంత్రణ ఉంటుంది! (సూత్రప్రాయంగా, మీరు దీన్ని మల్టీప్లేయర్ మోడ్లో ఊహించవచ్చు, డెవలపర్లు దీన్ని సరళంగా ఉంచుతారని నేను ఆశిస్తున్నాను)
నేను అప్లికేషన్ల యొక్క తాజా మరియు గొప్ప సంస్కరణలను పొందాలనుకుంటున్నాను, అవి నా పంపిణీలో కనిపించే వరకు వేచి ఉండకుండా (చాలా తరచుగా దీని అర్థం "ఎప్పుడూ", కనీసం నేను మొత్తం ఆపరేటింగ్ సిస్టమ్ను అప్డేట్ చేస్తే తప్ప). హైకూలో ఇది తేలియాడే విడుదలలతో "పరిష్కరించబడింది". అప్లికేషన్ల యొక్క తాజా మరియు గొప్ప సంస్కరణలను పొందడం సాధ్యమవుతుందని దీని అర్థం, కానీ దీన్ని చేయడానికి మీరు మిగిలిన సిస్టమ్ను నిరంతరం నవీకరించాలి, దానిని సమర్థవంతంగా "కదిలే లక్ష్యం"గా మార్చాలి..
తాజా వెర్షన్లో ఏది విచ్ఛిన్నమైందో తెలుసుకోవడానికి మార్గం లేనందున నాకు ఒకే అప్లికేషన్ యొక్క అనేక వెర్షన్లు పక్కపక్కనే కావాలి, లేదా చెప్పాలంటే, వెబ్ డెవలపర్గా నేను నా పనిని బ్రౌజర్ యొక్క విభిన్న వెర్షన్లలో పరీక్షించాలి. హైకూ మొదటి సమస్యను పరిష్కరిస్తుంది, కానీ రెండవది కాదు. అప్డేట్లు వెనక్కి తీసుకోబడ్డాయి, కానీ మొత్తం సిస్టమ్కు మాత్రమే; అమలు చేయడం అసాధ్యం (నాకు తెలిసినంత వరకు), ఉదాహరణకు, WebPositive లేదా LibreOffice యొక్క అనేక వెర్షన్లు ఒకే సమయంలో.
డెవలపర్లలో ఒకరు ఇలా వ్రాశారు:
ముఖ్యంగా హేతుబద్ధత ఇది: వినియోగ సందర్భం చాలా అరుదు కాబట్టి దాని కోసం ఆప్టిమైజ్ చేయడం అర్ధవంతం కాదు; హైకూపోర్ట్స్లో దీనిని ప్రత్యేక కేసుగా పరిగణించడం ఆమోదయోగ్యంగా లేదు.
నేను యాప్లను నా స్టార్టప్ డ్రైవ్లో కాకుండా నాకు నచ్చిన చోట ఉంచాలి. నేను తరచుగా డిస్క్ స్థలం అయిపోతుంది, కాబట్టి నేను అప్లికేషన్లను నిల్వ చేయడానికి బాహ్య డ్రైవ్ లేదా నెట్వర్క్ డైరెక్టరీని కనెక్ట్ చేయాలి (నేను డౌన్లోడ్ చేసిన అన్ని వెర్షన్లు). నేను అలాంటి డ్రైవ్ను కనెక్ట్ చేస్తే, నేను డబుల్ క్లిక్ చేయడం ద్వారా అప్లికేషన్లను ప్రారంభించాలి. హైకూ పాత ప్యాకేజీల సంస్కరణలను సేవ్ చేస్తుంది, కానీ వాటిని బాహ్య డ్రైవ్కు ఎలా తరలించాలో లేదా తర్వాత అక్కడ నుండి అప్లికేషన్లను ఎలా ప్రారంభించాలో నాకు తెలియదు.
డెవలపర్ వ్యాఖ్య:
సాంకేతికంగా, ఇది ఇప్పటికే మౌంట్ కమాండ్తో సాధ్యమవుతుంది. వాస్తవానికి, మాకు తగినంత ఆసక్తి ఉన్న వినియోగదారులు ఉన్న వెంటనే మేము దీని కోసం GUIని తయారు చేస్తాము.
నేను మాన్యువల్గా నిర్వహించలేని ఫైల్ సిస్టమ్లో మిలియన్ల కొద్దీ ఫైల్లు చెల్లాచెదురుగా ఉండటం నాకు అవసరం లేదు. నేను సులభంగా డౌన్లోడ్ చేయగల, తరలించగల, తొలగించగల ఒక అప్లికేషన్కు ఒక ఫైల్ కావాలి. హైకూలో ఈ సమస్య ప్యాకేజీలను ఉపయోగించి పరిష్కరించబడుతుంది .hpkg, ఇది వేలకొద్దీ ఫైళ్ల నుండి ఒకదానికి బదిలీ చేస్తుంది, ఉదాహరణకు, పైథాన్. అయితే, ఉదాహరణకు, స్క్రిబస్ పైథాన్ని ఉపయోగిస్తుంటే, నేను కనీసం రెండు ఫైల్లతో వ్యవహరించాలి. మరియు నేను ఒకదానితో ఒకటి పనిచేసే వాటి యొక్క సంస్కరణలను ఉంచడానికి జాగ్రత్త తీసుకోవాలి.
AppImages యొక్క బహుళ వెర్షన్లు ఒకే Linuxలో పక్కపక్కనే నడుస్తున్నాయి
అప్లికేషన్ డెవలపర్ దృక్కోణం
అప్లికేషన్ డెవలపర్ దృక్కోణం నుండి చూద్దాం:
నేను మొత్తం వినియోగదారు అనుభవాన్ని నియంత్రించాలనుకుంటున్నాను. నేను అప్లికేషన్లను ఎప్పుడు, ఎలా విడుదల చేయాలో చెప్పడానికి ఆపరేటింగ్ సిస్టమ్పై ఆధారపడటం నాకు ఇష్టం లేదు. హైకు డెవలపర్లు వారి స్వంత hpkg రిపోజిటరీలతో పని చేయడానికి అనుమతిస్తుంది, అయితే దీని అర్థం వినియోగదారులు వాటిని మాన్యువల్గా సెటప్ చేయాల్సి ఉంటుంది, ఇది ఆలోచనను "తక్కువ ఆకర్షణీయంగా" చేస్తుంది.
నా వెబ్సైట్లో నేను పంపిణీ చేసే డౌన్లోడ్ పేజీ ఉంది .exe Windows కోసం, .dmg Mac కోసం మరియు .AppImage Linux కోసం. లేదా నేను ఈ పేజీకి యాక్సెస్తో డబ్బు ఆర్జించాలనుకుంటున్నాను, ఏదైనా సాధ్యమేనా? హైకూ కోసం నేను అక్కడ ఏమి ఉంచాలి? ఫైల్ సరిపోతుంది .hpkg హైకూపోర్ట్స్ నుండి మాత్రమే డిపెండెన్సీలతో
నా సాఫ్ట్వేర్కు ఇతర సాఫ్ట్వేర్ యొక్క నిర్దిష్ట సంస్కరణలు అవసరం. ఉదాహరణకు, Kritaకి Qt లేదా Qt యొక్క ప్యాచ్డ్ వెర్షన్ అవసరమని తెలుసు, అది నిర్దిష్టమైన Krita వెర్షన్కి చక్కగా ట్యూన్ చేయబడింది, కనీసం పాచెస్ Qtలోకి నెట్టబడే వరకు. మీరు ప్యాకేజీలో మీ అప్లికేషన్ కోసం మీ స్వంత Qtని ప్యాకేజీ చేయవచ్చు .hpkg, కానీ చాలా మటుకు ఇది స్వాగతించబడదు.
రెగ్యులర్ అప్లికేషన్ డౌన్లోడ్ పేజీ. హైకూ కోసం నేను ఇక్కడ ఏమి పోస్ట్ చేయాలి?
విల్ బండిల్లు (AppDir వంటి అప్లికేషన్ డైరెక్టరీలుగా ఉన్నాయి లేదా .app Apple శైలిలో) మరియు/లేదా చిత్రాలు (భారీగా సవరించిన AppImages రూపంలో లేదా .dmg Apple నుండి) అప్లికేషన్లు హైకూ డెస్క్టాప్ పర్యావరణానికి ఉపయోగకరమైన జోడింపు? లేదా అది మొత్తం చిత్రాన్ని పలుచన చేసి, విచ్ఛిన్నానికి దారితీస్తుందా మరియు అందువల్ల సంక్లిష్టతను జోడిస్తుందా? నేను నలిగిపోయాను: ఒకవైపు, హైకూ యొక్క అందం మరియు హుందాతనం సాధారణంగా ఏదైనా చేయడానికి ఒక మార్గం ఉంటుంది, అనేకం కాకుండా ఉంటుంది. మరోవైపు, కేటలాగ్లు మరియు/లేదా అప్లికేషన్ సూట్ల కోసం చాలా ఇన్ఫ్రాస్ట్రక్చర్ ఇప్పటికే అమల్లో ఉంది, కాబట్టి సిస్టమ్ మిగిలిన కొన్ని శాతం కోసం కేకలు వేస్తుంది.
Linux లో వారు (కేటలాగ్లు మరియు అప్లికేషన్ కిట్లు, - సుమారు. అనువాదకుడు) దైహిక సమస్యలకు చాలావరకు సాంకేతిక పరిష్కారం. హైకూలో మేము సిస్టమ్ సమస్యలను పరిష్కరించడానికి ఇష్టపడతాము.
మీరు ఏమనుకుంటున్నారు?
సమాధానం చెప్పే ముందు...
వేచి ఉండండి, త్వరిత రియాలిటీ చెక్ చేద్దాం: నిజానికి అప్లికేషన్ డైరెక్టరీలు - ఇప్పటికే హైకూలో భాగం:
హైకూలో అప్లికేషన్ డైరెక్టరీలు ఇప్పటికే ఉన్నాయి, కానీ ఫైల్ మేనేజర్లో ఇంకా మద్దతు లేదు
వారు కేవలం Macintosh ఫైండర్కు మద్దతు ఇవ్వలేదు. QtCreator డైరెక్టరీకి ఎగువ ఎడమ మూలలో "QtCreator" పేరు మరియు చిహ్నాన్ని కలిగి ఉంటే, డబుల్ క్లిక్ చేసినప్పుడు అప్లికేషన్ను ప్రారంభించడం ఎంత బాగుంది?
అన్ని యాప్ స్టోర్లు మరియు డిస్ట్రిబ్యూషన్ రిపోజిటరీలు వాటి గురించి మరియు వాటి డిపెండెన్సీల గురించి మరచిపోయినప్పుడు మీరు మీ దశాబ్దాల నాటి యాప్లను ఈరోజు అమలు చేయగలరని మీరు ఖచ్చితంగా అనుకుంటున్నారా? భవిష్యత్తులో మీ ప్రస్తుత ఉద్యోగాన్ని మీరు ఇప్పటికీ యాక్సెస్ చేయగలరని మీకు నమ్మకం ఉందా?
హైకూ నుండి ఇప్పటికే సమాధానం ఉందా లేదా ఇక్కడ కేటలాగ్లు మరియు అప్లికేషన్ బండిల్లు సహాయం చేయగలవా? వారు చేయగలరని నేను అనుకుంటున్నాను.
Mr ప్రకారం. వాడిల్స్ప్లాష్:
అవును, ఈ ప్రశ్నకు మా వద్ద సమాధానం ఉంది: ఎవరైనా వారి ఫైల్ ఫార్మాట్లను సరైన మార్గంలో చదవగలిగే వరకు లేదా ఒకరి నుండి ఒకరు కార్యాచరణను అందించే వరకు మేము ఈ అప్లికేషన్లకు అవసరమైనంత కాలం మద్దతునిస్తాము. హైకూలో BeOS R5 యాప్లకు మద్దతు ఇవ్వాలనే మా నిబద్ధత దీనికి నిదర్శనం...
అది ఖచ్చితంగా!
హైకూ ఎలాంటి చర్య తీసుకోవాలి?
hpkg, డైరెక్టరీలు మరియు అప్లికేషన్ ఇమేజ్ల శాంతియుత సహజీవనాన్ని నేను ఊహించగలను:
సిస్టమ్ సాఫ్ట్వేర్ ఉపయోగిస్తుంది .hpkg
చాలా తరచుగా ఉపయోగించే సాఫ్ట్వేర్ కోసం (ముఖ్యంగా రోలింగ్ విడుదలలను షెడ్యూల్ చేయాల్సినవి), ఉపయోగించండి .hpkg (సుమారు 80% అన్ని కేసులు)
కొన్ని ద్వారా ఇన్స్టాల్ చేయబడ్డాయి .hpkg, అప్లికేషన్ డైరెక్టరీ ఇన్ఫ్రాస్ట్రక్చర్కి మారడం ద్వారా అప్లికేషన్లు ప్రయోజనం పొందుతాయి (ఉదా. QtCreator): అవి ఇలా పంపిణీ చేయబడతాయి .hpkg, ముందు లాగానే.
శ్రీ. waddlesplash వ్రాస్తూ:
మీకు కావలసిందల్లా అప్లికేషన్లను వీక్షించడమే /system/apps, బదులుగా మేము డెస్క్బార్లోని డైరెక్టరీలను వినియోగదారుల కోసం మరింత నిర్వహించగలిగేలా చేయాలి /system/apps వినియోగదారులు క్రమం తప్పకుండా తెరవడానికి మరియు వీక్షించడానికి ఉద్దేశించబడలేదు (MacOS వలె కాకుండా). అటువంటి పరిస్థితుల కోసం, హైకూకు భిన్నమైన నమూనా ఉంది, కానీ ఈ ఎంపిక సిద్ధాంతపరంగా ఆమోదయోగ్యమైనది.
హైకూ అప్లికేషన్ ఇమేజ్లను అమలు చేయడానికి, సాఫ్ట్వేర్ యొక్క రాత్రిపూట, నిరంతర మరియు టెస్ట్ బిల్డ్ల కోసం, అలాగే ప్రైవేట్ మరియు అంతర్గత సాఫ్ట్వేర్ల కోసం మరియు ఇతర ప్రత్యేక వినియోగ సందర్భాలలో (సుమారు 20% అన్నిటిలోకి, అన్నిటికంటే). ఈ చిత్రాలు అప్లికేషన్ను అమలు చేయడానికి అవసరమైన ఫైల్లను కలిగి ఉంటాయి .hpkg, సిస్టమ్ ద్వారా మౌంట్ చేయబడింది మరియు అప్లికేషన్ పూర్తయిన తర్వాత - అన్మౌంట్ చేయబడింది. (బహుశా ఫైల్ మేనేజర్ ఫైల్లను ఉంచవచ్చు .hpkg అప్లికేషన్ ఇమేజ్లలోకి, స్వయంచాలకంగా లేదా వినియోగదారు అభ్యర్థన మేరకు - అలాగే, మీరు అప్లికేషన్ను నెట్వర్క్ డైరెక్టరీకి లేదా బాహ్య డ్రైవ్కి లాగినప్పుడు. ఇది కేవలం పాట మాత్రమే! లేదా బదులుగా, కవిత్వం - హైకూ.) మరోవైపు, వినియోగదారు చిత్రంలోని విషయాలను ఫైల్ల రూపంలో ఇన్స్టాల్ చేయాలనుకోవచ్చు..hpkg, ఆ తర్వాత అవి హైకూడిపో ద్వారా ఇన్స్టాల్ చేసిన విధంగానే అప్డేట్ చేయబడి, ప్రాసెస్ చేయబడతాయి... మనం ఆలోచించాలి).
Mr నుండి కోట్. వాడిల్స్ప్లాష్:
బాహ్య డ్రైవ్లు లేదా నెట్వర్క్ డైరెక్టరీల నుండి అప్లికేషన్లను అమలు చేయడం సమర్థవంతంగా ఉపయోగపడుతుంది. మరియు pkgman కోసం మరిన్ని "జోన్లు" కాన్ఫిగర్ చేసే సామర్థ్యాన్ని జోడించడం ఖచ్చితంగా మంచి ఫీచర్ అవుతుంది.
ఇటువంటి సిస్టమ్ hpkg, డైరెక్టరీలు మరియు అప్లికేషన్ చిత్రాల ప్రయోజనాన్ని పొందుతుంది. వారు వ్యక్తిగతంగా మంచివారు, కానీ కలిసి వారు అజేయంగా మారతారు.
తీర్మానం
హైకు PC కోసం సరళమైన మరియు అధునాతన వినియోగదారు అనుభవాన్ని అందించే ఫ్రేమ్వర్క్ను కలిగి ఉంది మరియు సాధారణంగా Linux PC కోసం అందించిన దానికంటే చాలా ఎక్కువ. ప్యాకేజీ వ్యవస్థ .hpkg అటువంటి ఉదాహరణ, కానీ మిగిలిన వ్యవస్థ కూడా అధునాతనతతో నిండి ఉంది. అయినప్పటికీ, హైకూ సరైన డైరెక్టరీ మరియు అప్లికేషన్ ఇమేజ్ సపోర్ట్ నుండి ప్రయోజనం పొందుతుంది. దీన్ని ఎలా ఉత్తమంగా చేయాలో హైకూ, దాని తత్వశాస్త్రం మరియు నిర్మాణం గురించి నాకంటే బాగా తెలిసిన వ్యక్తులతో చర్చించడం విలువైనదే. అన్నింటికంటే, నేను ఒక వారం నుండి హైకూను ఉపయోగిస్తున్నాను. అయినప్పటికీ, హైకూ రూపకర్తలు, డెవలపర్లు మరియు ఆర్కిటెక్ట్లు ఈ తాజా దృక్పథం నుండి ప్రయోజనం పొందుతారని నేను నమ్ముతున్నాను. కనీసం, నేను వారి "స్పారింగ్ పార్ట్నర్" అయినందుకు సంతోషిస్తాను. Linux అప్లికేషన్ కేటలాగ్లు మరియు బండిల్లతో నాకు 10 సంవత్సరాలకు పైగా అనుభవం ఉంది మరియు నేను హైకూలో వాటి కోసం ఒక ఉపయోగాన్ని కనుగొనాలనుకుంటున్నాను, దాని కోసం అవి సరిగ్గా సరిపోతాయని నేను భావిస్తున్నాను. నేను వివరించిన సమస్యలకు నేను ప్రతిపాదించిన సంభావ్య పరిష్కారాలు ఏ విధంగానూ సరైనవి కావు మరియు హైకూ బృందం ఇతర, మరింత సొగసైన వాటిని కనుగొనాలని నిర్ణయించుకుంటే, నేను దాని కోసం సిద్ధంగా ఉన్నాను. సాధారణంగా, సిస్టమ్ను ఎలా తయారు చేయాలనే ఆలోచన గురించి నేను ఇప్పటికే ఆలోచిస్తున్నాను hpkg ఇది పని చేసే విధానాన్ని మార్చకుండా మరింత అద్భుతమైనది. ప్యాకేజీ నిర్వహణ వ్యవస్థను అమలు చేస్తున్నప్పుడు హైకూ బృందం చాలా కాలంగా అప్లికేషన్ బండిల్ల గురించి ఆలోచిస్తున్నట్లు తేలింది, అయితే దురదృష్టవశాత్తు (నేను అనుకుంటున్నాను) ఆలోచన "నిరుపయోగంగా" మారింది. బహుశా దాన్ని పునరుద్ధరించే సమయం వచ్చిందా?
మీరే ప్రయత్నించండి! అన్నింటికంటే, హైకూ ప్రాజెక్ట్ రూపొందించిన DVD లేదా USB నుండి బూట్ చేయడానికి చిత్రాలను అందిస్తుంది ежедневно.
మీకు ఏవైనా ప్రశ్నలు ఉన్నాయా? మేము మిమ్మల్ని రష్యన్ మాట్లాడటానికి ఆహ్వానిస్తున్నాము టెలిగ్రామ్ ఛానల్.