
TL; DR: అప్లికేషన్ డైరెక్టరీల వంటి అప్లికేషన్ ప్యాకేజీలకు హైకూ సరైన మద్దతును పొందగలదా (వంటి .app Macలో) మరియు/లేదా అప్లికేషన్ ఇమేజ్లు (Linux AppImage)? చాలా మౌలిక సదుపాయాలు ఇప్పటికే అమలులో ఉన్నందున ఇది ఇతర వ్యవస్థల కంటే సరిగ్గా అమలు చేయడం సులభం అని నేను భావిస్తున్నాను.
నేను ఊహించని విధంగా మంచి వ్యవస్థ అయిన హైకూను కనుగొన్నాను. బాగా, నేను చాలా కాలంగా డైరెక్టరీలు మరియు అప్లికేషన్ చిత్రాలపై ఆసక్తిని కలిగి ఉన్నాను (మాకింతోష్ యొక్క సరళత ద్వారా ప్రేరణ పొందింది), నా మదిలో ఒక ఆలోచన రావడంలో ఆశ్చర్యం లేదు...
స్పష్టంగా చెప్పాలంటే, అప్లికేషన్ పంపిణీ ఫార్మాట్ అయిన AppImage సృష్టికర్త మరియు రచయితను నేనే. Linuxఇది Macను సరళతరం చేయడమే కాకుండా, యాప్ రచయితలు మరియు తుది వినియోగదారుల చేతుల్లో పూర్తి నియంత్రణను ఉంచాలని లక్ష్యంగా పెట్టుకుంది (మరింత సమాచారం కోసం క్రింద చూడండి). и ).
మనం హైకూ కోసం యాప్ ఇమేజ్ని తయారు చేస్తే?
కొంచెం, పూర్తిగా సిద్ధాంతపరంగా ఆలోచిద్దాం: పొందడానికి ఏమి చేయాలి Haikuలో, లేదా అలాంటిదేదైనా? ప్రస్తుతానికి దేన్నీ సృష్టించాల్సిన అవసరం లేదు, ఎందుకంటే Haikuలో ఇప్పటికే ఉన్న వ్యవస్థ అద్భుతంగా పనిచేస్తుంది, కానీ ఒక ఊహాత్మక ప్రయోగం బాగుంటుంది. ఇది డెస్క్టాప్ పరిసరాలతో పోలిస్తే Haiku యొక్క అధునాతనతను కూడా ప్రదర్శిస్తుంది. Linux, అక్కడ అలాంటి విషయాలు చాలా కష్టంగా ఉంటాయి (ఈ విషయం చెప్పే హక్కు నాకుంది: నేను ఇప్పటికే 10 సంవత్సరాలుగా డీబగ్గింగ్తో పోరాడుతున్నాను).

Macintosh సిస్టమ్ 1లో, ప్రతి అప్లికేషన్ ఫైండర్లో నిర్వహించబడే ఒక ప్రత్యేక ఫైల్గా ఉండేది. AppImageని ఉపయోగించి, నేను అదే యూజర్ అనుభవాన్ని తిరిగి సృష్టించడానికి ప్రయత్నిస్తున్నాను. Linux.
ముందుగా, AppImage అంటే ఏమిటి? ఇది థర్డ్-పార్టీ అప్లికేషన్లను విడుదల చేసే సిస్టమ్ (ఉదాహరణకు, ), అప్లికేషన్లు ఎప్పుడు మరియు ఎలా కావాలో విడుదల చేయడానికి అనుమతిస్తుంది: వివిధ పంపిణీల యొక్క ప్రత్యేకతలు తెలుసుకోవడం, విధానాలను రూపొందించడం లేదా మౌలిక సదుపాయాలను రూపొందించడం అవసరం లేదు, నిర్వహణ మద్దతు అవసరం లేదు మరియు వారు ఏమి ఇన్స్టాల్ చేయగలరో (కాదు) వినియోగదారులకు చెప్పరు. వారి కంప్యూటర్లలో. AppImage అనేది ఫార్మాట్లోని Mac ప్యాకేజీకి సమానమైనదిగా అర్థం చేసుకోవాలి .app డిస్క్ ఇమేజ్ లోపల .dmg. ప్రధాన వ్యత్యాసం ఏమిటంటే, అప్లికేషన్లు కాపీ చేయబడవు, కానీ హైకూ ప్యాకేజీల వలె ఎప్పటికీ AppImage లోపల ఉంటాయి. .hpkg మౌంట్ చేయబడింది మరియు సాధారణ అర్థంలో ఎప్పుడూ ఇన్స్టాల్ చేయబడలేదు.
పదేళ్లకు పైగా ఉనికిలో ఉన్నప్పటి నుండి, AppImage కొంత ఆదరణ మరియు ప్రజాదరణ పొందింది: లైనస్ టోర్వాల్డ్స్ స్వయంగా దీనిని బహిరంగంగా ఆమోదించారు, మరియు లిబ్రెఆఫీస్, క్రిటా, ఇంక్స్కేప్, స్క్రైబస్, ఇమేజ్మాజిక్ వంటి ప్రముఖ ప్రాజెక్ట్లు, వినియోగదారుల ఇన్స్టాల్ చేసిన లేదా అన్ఇన్స్టాల్ చేసిన అప్లికేషన్లకు అంతరాయం కలిగించని నిరంతర లేదా నైట్లీ బిల్డ్లను పంపిణీ చేయడానికి దీనిని ప్రాథమిక పద్ధతిగా స్వీకరించాయి. అయితే, డెస్క్టాప్ ఎన్విరాన్మెంట్లు మరియు డిస్ట్రిబ్యూషన్లు Linux చాలా తరచుగా ఇప్పటికీ నిర్వహణదారులపై ఆధారపడిన సాంప్రదాయ, కేంద్రీకృత పంపిణీ నమూనాకు కట్టుబడి ఉంటారు మరియు/లేదా వారి స్వంత కార్పొరేట్ వ్యాపారం మరియు/లేదా ఇంజనీరింగ్ కార్యక్రమాలను ప్రోత్సహిస్తారు (RedHat, Fedora, GNOME) మరియు (కానానికల్, Ubuntuఆ దిశగా సాగుతోంది. .
ఇవన్నీ ఎలా పని చేస్తాయి
- ప్రతి AppImage 2 భాగాలను కలిగి ఉంటుంది: ఒక చిన్న డబుల్-క్లిక్ ELF (అని పిలవబడేది.
runtime.c), ఫైల్ సిస్టమ్ ఇమేజ్ తర్వాత .

- స్క్వాష్ఎఫ్ఎస్ ఫైల్ సిస్టమ్లో ఒక అప్లికేషన్ రూపంలో పేలోడ్ మరియు దానిని అమలు చేయడానికి అవసరమైనవన్నీ ఉంటాయి, దీనిని ప్రతి ఆధునిక టార్గెట్ సిస్టమ్ (డిస్ట్రిబ్యూషన్) యొక్క డిఫాల్ట్ ఇన్స్టాలేషన్లో భాగంగా పరిగణించలేము. Linuxఇందులో అప్లికేషన్ పేరు, ఐకాన్లు, MIME రకాలు మొదలైన మెటాడేటా కూడా ఉంటుంది.

- వినియోగదారుచే అమలు చేయబడినప్పుడు, ఫైల్సిస్టమ్ను మౌంట్ చేయడానికి రన్టైమ్ FUSE మరియు స్క్వాష్ఫ్యూజ్లను ఉపయోగిస్తుంది, ఆపై మౌంట్ చేయబడిన AppImage లోపల కొంత ఎంట్రీ పాయింట్ (అకా AppRun)ని నిర్వహిస్తుంది.
ప్రక్రియ పూర్తయిన తర్వాత ఫైల్ సిస్టమ్ అన్మౌంట్ చేయబడింది.
ప్రతిదీ సరళంగా అనిపిస్తుంది.
మరియు ఈ విషయాలు ప్రతిదీ క్లిష్టతరం చేస్తాయి:
- ఇంత వైవిధ్యమైన పంపిణీలతో Linux ఇకపై ఏ విషయాన్నీ "ప్రతి కొత్త టార్గెట్ సిస్టమ్ కోసం డిఫాల్ట్ ఇన్స్టాలేషన్లో భాగం" అని సరిగ్గా ఆలోచించి పిలవలేము. ఈ సమస్యను మనం నిర్మించడం ద్వారా అధిగమిస్తాము. , AppImageలో ఏది ప్యాక్ చేయబడుతుందో మరియు వేరే చోట ఏది తీసుకోవాలో నిర్ణయించడానికి మిమ్మల్ని అనుమతిస్తుంది. అదే సమయంలో, సాధారణంగా, ప్రతిదీ గొప్పగా పనిచేసినప్పటికీ, మేము కొన్నిసార్లు కోల్పోతాము. ఈ కారణంగా, ప్యాకేజీ సృష్టికర్తలు అన్ని లక్ష్య సిస్టమ్లలో (డిస్ట్రిబ్యూషన్లు) AppImagesని పరీక్షించాలని మేము సిఫార్సు చేస్తున్నాము.
- అప్లికేషన్ పేలోడ్లు తప్పనిసరిగా ఫైల్ సిస్టమ్లో రీలొకేట్ చేయబడాలి. దురదృష్టవశాత్తూ, చాలా అప్లికేషన్లు హార్డ్-కోడెడ్ సంపూర్ణ మార్గాలను కలిగి ఉన్నాయి, ఉదాహరణకు, ఇన్సోర్స్లు
/usr/share. దీన్ని ఎలాగైనా పరిష్కరించాలి. అదనంగా, మీరు తప్పనిసరిగా ఎగుమతి చేయాలిLD_LIBRARY_PATH, లేదా పరిష్కరించండిrpathతద్వారా లోడర్ సంబంధిత లైబ్రరీలను కనుగొనవచ్చు. మొదటి పద్ధతి దాని లోపాలను కలిగి ఉంది (ఇది సంక్లిష్ట మార్గాల్లో అధిగమించబడుతుంది), మరియు రెండవది కేవలం గజిబిజిగా ఉంటుంది. - వినియోగదారులకు అతిపెద్ద UX ఆపద డౌన్లోడ్ చేసిన తర్వాత AppImage ఫైల్. మీరు నమ్మినా నమ్మకపోయినా, ఇది కొంతమందికి నిజమైన అడ్డంకి. అనుభవజ్ఞులైన వినియోగదారులకు కూడా ఎగ్జిక్యూటబుల్ బిట్ను సెట్ చేయడం శ్రమతో కూడుకున్నది. దీనికి ప్రత్యామ్నాయంగా, AppImage ఫైల్లను పర్యవేక్షించి, వాటి ఎగ్జిక్యూటబుల్ బిట్ను సెట్ చేసే ఒక చిన్న సర్వీస్ను ఇన్స్టాల్ చేయమని మేము సూచించాము. దాని స్వచ్ఛమైన రూపంలో, ఇది ఉత్తమ పరిష్కారం కాదు, ఎందుకంటే ఇది నేరుగా పనిచేయదు. డిస్ట్రిబ్యూషన్లు Linux వారు ఈ సేవను అందించరు, కాబట్టి వినియోగదారులకు మొదటి నుంచే చెడు అనుభవం ఎదురవుతుంది.
- వినియోగదారులు Linux వారు కొత్త యాప్కు లాంచర్లో ఒక ఐకాన్ ఉండాలని ఆశిస్తారు. మీరు కేవలం సిస్టమ్తో, "చూడు, ఇక్కడ ఒక కొత్త యాప్ ఉంది, ప్రారంభిద్దాం" అని చెప్పలేరు. దానికి బదులుగా, XDG స్పెసిఫికేషన్ ప్రకారం, మీరు ఫైల్ను కాపీ చేయాలి.
.desktopసరైన స్థానానికి/usrసిస్టమ్-వైడ్ ఇన్స్టాలేషన్ కోసం లేదా ఇన్$HOMEవ్యక్తిగత కోసం. XDG స్పెసిఫికేషన్ ప్రకారం నిర్దిష్ట పరిమాణాల చిహ్నాలను కొన్ని ప్రదేశాలలో ఉంచాలిusrలేదా$HOME, ఆపై ఐకాన్ కాష్ను అప్డేట్ చేయడానికి పని వాతావరణంలో ఆదేశాలను అమలు చేయండి లేదా వర్కింగ్ ఎన్విరాన్మెంట్ మేనేజర్ దాన్ని గుర్తించి, ప్రతిదాన్ని స్వయంచాలకంగా గుర్తిస్తారని ఆశిస్తున్నాము. MIME రకాలతో కూడా అదే. ప్రత్యామ్నాయంగా, అదే సేవను ఉపయోగించాలని ప్రతిపాదించబడింది, ఇది ఎక్జిక్యూటబిలిటీ ఫ్లాగ్ను సెట్ చేయడంతో పాటు, చిహ్నాలు ఉంటే మొదలైనవి. AppImageలో, వాటిని AppImage నుండి XDG ప్రకారం సరైన ప్రదేశాలకు కాపీ చేయండి. తొలగించబడినప్పుడు లేదా తరలించబడినప్పుడు, సేవ అన్నింటినీ క్లియర్ చేస్తుంది. వాస్తవానికి, ప్రతి పని వాతావరణం యొక్క ప్రవర్తనలో తేడాలు ఉన్నాయి, గ్రాఫిక్ ఫైల్ ఫార్మాట్లు, వాటి పరిమాణాలు, నిల్వ స్థానాలు మరియు కాష్లను నవీకరించే పద్ధతులు, ఇది సమస్యను సృష్టిస్తుంది. సంక్షిప్తంగా, ఈ పద్ధతి ఒక ఊతకర్ర. - అంతే కాకుండా, ఫైల్ మేనేజర్లో ఇప్పటికీ AppImage ఐకాన్ కనిపించడం లేదు. Linux ఎల్ఫికాన్ను అమలు చేయడంపై ఇంకా నిర్ణయం తీసుకోలేదు (అయినప్పటికీ и ), కాబట్టి చిహ్నాన్ని నేరుగా అప్లికేషన్లో పొందుపరచడం అసాధ్యం. కాబట్టి ఫైల్ మేనేజర్లోని అప్లికేషన్లకు వాటి స్వంత చిహ్నాలు లేవని తేలింది (తేడా లేదు, AppImage లేదా మరేదైనా), అవి ప్రారంభ మెనులో మాత్రమే ఉన్నాయి. ప్రత్యామ్నాయంగా, మేము థంబ్నెయిల్లను ఉపయోగిస్తున్నాము, ఇది డెస్క్టాప్ మేనేజర్లు గ్రాఫిక్ ఫైల్ల థంబ్నెయిల్ ప్రివ్యూ చిత్రాలను వారి చిహ్నాలుగా చూపించడానికి అనుమతించడానికి రూపొందించబడిన ఒక మెకానిజం. పర్యవసానంగా, ఎక్జిక్యూటబిలిటీ బిట్ను సెట్ చేసే సేవ "మినియేటరైజర్"గా కూడా పని చేస్తుంది, తగిన స్థానాలకు ఐకాన్ థంబ్నెయిల్లను సృష్టించడం మరియు వ్రాయడం
/usrи$HOME. AppImage తొలగించబడినా లేదా తరలించబడినా కూడా ఈ సేవ క్లీనప్ చేస్తుంది. ప్రతి డెస్క్టాప్ మేనేజర్ కొద్దిగా భిన్నంగా ప్రవర్తిస్తారనే వాస్తవం కారణంగా, ఉదాహరణకు, ఏ ఫార్మాట్లలో ఇది చిహ్నాలను అంగీకరిస్తుంది, ఏ పరిమాణాలు లేదా ప్రదేశాలలో, ఇవన్నీ నిజంగా బాధాకరమైనవి. - లోపాలు సంభవించినట్లయితే అప్లికేషన్ కేవలం అమలులో క్రాష్ అవుతుంది (ఉదాహరణకు, బేస్ సిస్టమ్లో భాగం కాని మరియు AppImageలో సరఫరా చేయని లైబ్రరీ ఉంది), మరియు GUIలో వినియోగదారుకు సరిగ్గా ఏమి జరుగుతుందో ఎవరూ చెప్పడం లేదు. మేము దీనిని ఉపయోగించడం ద్వారా చుట్టుముట్టడం ప్రారంభించాము డెస్క్టాప్లో, అంటే మనం కమాండ్ లైన్ నుండి లోపాలను పట్టుకోవాలి, వాటిని వినియోగదారు అర్థం చేసుకున్న సందేశాలుగా మార్చాలి, ఆపై వాటిని డెస్క్టాప్లో ప్రదర్శించాలి. మరియు వాస్తవానికి, ప్రతి డెస్క్టాప్ పర్యావరణం వాటిని కొద్దిగా భిన్నంగా నిర్వహిస్తుంది.
- ప్రస్తుతానికి (సెప్టెంబర్ 2019 - అనువాదకుని గమనిక) ఫైల్ని సిస్టమ్కు చెప్పడానికి నాకు సులభమైన మార్గం కనుగొనబడలేదు
1.pngకృతా ఉపయోగించి తెరవాలి, మరియు2.png- GIMP ఉపయోగించి.
![]()
ఉపయోగించిన క్రాస్-డెస్క్టాప్ స్పెసిఫికేషన్ల కోసం నిల్వ స్థానం , и freedesktop.org
స్పెసిఫికేషన్ల కారణంగా హైకూ పని వాతావరణంలో లోతుగా అల్లిన అధునాతన స్థాయిని సాధించడం కష్టం, అసాధ్యం కాకపోయినా. క్రాస్-డెస్క్టాప్ కోసం, అలాగే ఈ స్పెసిఫికేషన్ల ఆధారంగా డెస్క్టాప్ మేనేజర్ల అమలు. ఉదాహరణగా, మేము ఒక సిస్టమ్-వైడ్ ఫైర్ఫాక్స్ చిహ్నాన్ని ఉదహరించవచ్చు: స్పష్టంగా, XDG రచయితలు ఒక వినియోగదారు ఒకే అప్లికేషన్ యొక్క అనేక వెర్షన్లను ఇన్స్టాల్ చేయవచ్చని కూడా అనుకోలేదు.

Firefox యొక్క విభిన్న సంస్కరణల కోసం చిహ్నాలు
ఈ ప్రపంచం ఏంటో అని నేను ఆలోచిస్తున్నాను Linux సిస్టమ్ ఇంటిగ్రేషన్ను పాడుచేయకుండా ఉండటానికి నేను Mac OS X నుండి నేర్చుకోగలను. మీకు సమయం ఉండి, ఈ విషయంలో పాలుపంచుకుంటున్నట్లయితే, మొట్టమొదటి Mac OS X ఇంజనీర్లలో ఒకరైన ఆర్నాడ్ గౌర్డోల్డ్ ఏమి చెప్పారో తప్పకుండా చదవండి:
అప్లికేషన్ చిహ్నాన్ని ఎక్కడి నుండైనా (సర్వర్, ఎక్స్టర్నల్ డ్రైవ్) మీ కంప్యూటర్ డ్రైవ్లోకి లాగినంత సులభంగా అప్లికేషన్ను ఇన్స్టాల్ చేయాలనుకుంటున్నాము. దీన్ని చేయడానికి, అప్లికేషన్ ప్యాకేజీ ఐకాన్లు, వెర్షన్, ప్రాసెస్ చేయబడుతున్న ఫైల్ రకం, అప్లికేషన్ను ప్రాసెస్ చేయడానికి సిస్టమ్ తెలుసుకోవలసిన URL స్కీమ్ల రకంతో సహా మొత్తం సమాచారాన్ని నిల్వ చేస్తుంది. ఇది ఐకాన్ సర్వీసెస్ మరియు లాంచ్ సర్వీసెస్ డేటాబేస్లో 'సెంట్రల్ స్టోరేజ్'కి సంబంధించిన సమాచారాన్ని కూడా కలిగి ఉంటుంది. పనితీరుకు మద్దతుగా, అప్లికేషన్లు అనేక 'తెలిసిన' ప్రదేశాలలో 'కనుగొనబడతాయి': సిస్టమ్ మరియు వినియోగదారు అప్లికేషన్ల డైరెక్టరీలు మరియు అప్లికేషన్ను కలిగి ఉన్న డైరెక్టరీలోని ఫైండర్కి వినియోగదారు నావిగేట్ చేస్తే స్వయంచాలకంగా మరికొన్ని. ఆచరణలో ఇది చాలా బాగా పనిచేసింది.
Apple WWDC 2000 సెషన్ 144 - Mac OS X: ప్యాకేజింగ్ అప్లికేషన్లు మరియు ప్రింటింగ్ డాక్యుమెంట్లు.
ప్రొడక్షన్ ఎన్విరాన్మెంట్లలో ఈ ఇన్ఫ్రాస్ట్రక్చర్కు సమానమైనది ఏదీ లేదు. Linuxఅందువల్ల, మేము AppImage ప్రాజెక్ట్లోని నిర్మాణపరమైన పరిమితులను అధిగమించడానికి ప్రత్యామ్నాయ మార్గాల కోసం చూస్తున్నాము.

హైకూ సహాయానికి వస్తోందా?
మరియు కూడా: ప్లాట్ఫారమ్లు Linux పని వాతావరణాలకు ఆధారంగా ఉండేవి సాధారణంగా చాలా అస్పష్టంగా ఉంటాయి, దీనివల్ల ఒక సమగ్రమైన ఫుల్-స్టాక్ సిస్టమ్లో చాలా సులభంగా ఉండే అనేక విషయాలు నిరాశ కలిగించే విధంగా విచ్ఛిన్నమై, సంక్లిష్టంగా మారతాయి. Linuxనేను ప్లాట్ఫారమ్కు సంబంధించిన సమస్యలకు ఒక పూర్తి నివేదికను కేటాయించాను. Linux పని వాతావరణాల కోసం (అన్నీ చాలా కాలం పాటు ఇలాగే ఉంటాయని పరిజ్ఞానం ఉన్న డెవలపర్లు ధృవీకరించారు).

పని వాతావరణాల సమస్యలపై నా నివేదిక Linux 2018 లో
వర్క్స్పేస్ ఆలోచన ఎందుకు విఫలమైందని లినస్ టోర్వాల్డ్స్ కూడా ఫ్రాగ్మెంటేషన్ అని ఒప్పుకున్నాడు.
హైకూ చూడటం ఆనందంగా ఉంది!
హైకూ ప్రతిదీ అద్భుతంగా సులభం చేస్తుంది
AppImageను Haikuకు "పోర్ట్" చేయడానికి ఒక అమాయకమైన విధానం ఏమిటంటే, దాని భాగాలను (ప్రధానంగా runtime.c మరియు సర్వీస్) కంపైల్ చేయడానికి ప్రయత్నించడం (ఇది బహుశా సాధ్యం కూడా కావచ్చు!), కానీ దీనివల్ల Haikuకు పెద్దగా ప్రయోజనం ఉండదు. ఎందుకంటే, వాస్తవానికి, ఈ సమస్యలలో చాలా వరకు Haikuలో పరిష్కరించబడ్డాయి మరియు భావనాత్మకంగా సరైనవి. నేను చాలా కాలంగా డెస్క్టాప్ పరిసరాలలో వెతుకుతున్న సిస్టమ్ ఇన్ఫ్రాస్ట్రక్చర్ కోసం అవసరమైన నిర్మాణ మూలకాలను Haiku కచ్చితంగా అందిస్తుంది. Linux మరియు వారు అక్కడ లేరని నమ్మలేకపోయారు. ముఖ్యంగా:

నమ్మినా నమ్మకపోయినా, చాలా మంది వినియోగదారులు దీనిని అధిగమించలేరు. Linuxహైకులో, ప్రతిదీ దానంతట అదే జరిగిపోతుంది!
- ఎక్జిక్యూటబిలిటీ బిట్ లేని ELF ఫైల్లు ఫైల్ మేనేజర్లో డబుల్ క్లిక్ చేసినప్పుడు ఆటోమేటిక్గా ఒకదాన్ని పొందుతాయి.
- అప్లికేషన్లు ఫైల్ మేనేజర్లో ప్రదర్శించబడే చిహ్నాల వంటి అంతర్నిర్మిత వనరులను కలిగి ఉండవచ్చు. చిత్రాల సమూహాన్ని చిహ్నాలతో ప్రత్యేక డైరెక్టరీలలోకి కాపీ చేయవలసిన అవసరం లేదు మరియు అప్లికేషన్ను తొలగించిన తర్వాత లేదా తరలించిన తర్వాత వాటిని శుభ్రం చేయవలసిన అవసరం లేదు.
- పత్రాలతో అప్లికేషన్లను లింక్ చేయడానికి డేటాబేస్ ఉంది, దీని కోసం ఏ ఫైల్లను కాపీ చేయవలసిన అవసరం లేదు.
- ఎక్జిక్యూటబుల్ ఫైల్ పక్కన ఉన్న lib/ డైరెక్టరీలో, లైబ్రరీలు డిఫాల్ట్గా శోధించబడతాయి.
- అనేక పంపిణీలు మరియు డెస్క్టాప్ పరిసరాలు లేవు; ఏది పనిచేసినా, ప్రతిచోటా పని చేస్తుంది.
- అప్లికేషన్ల డైరెక్టరీకి భిన్నంగా అమలు చేయడానికి ప్రత్యేక మాడ్యూల్ లేదు.
- అనువర్తనాలు వాటి వనరులకు అంతర్నిర్మిత సంపూర్ణ మార్గాలను కలిగి ఉండవు; అవి రన్టైమ్లో స్థానాన్ని నిర్ణయించడానికి ప్రత్యేక విధులను కలిగి ఉంటాయి.
- కంప్రెస్డ్ ఫైల్ సిస్టమ్ ఇమేజ్ల ఆలోచన పరిచయం చేయబడింది: ఇది ఏదైనా hpkg ప్యాకేజీ. అవన్నీ కెర్నల్ ద్వారా మౌంట్ చేయబడ్డాయి.
- మీరు స్పష్టంగా పేర్కొనకపోతే, ప్రతి ఫైల్ దానిని సృష్టించిన అప్లికేషన్ ద్వారా తెరవబడుతుంది. ఇది ఎంత బాగుంది!

రెండు png ఫైల్లు. రెండుసార్లు క్లిక్ చేసినప్పుడు అవి వేర్వేరు అప్లికేషన్ల ద్వారా తెరవబడతాయని సూచించే విభిన్న చిహ్నాలను గమనించండి. "దీనితో తెరవండి:" డ్రాప్-డౌన్ మెనుని కూడా గమనించండి, ఇక్కడ వినియోగదారు వ్యక్తిగత అప్లికేషన్ను ఎంచుకోవచ్చు. ఎంత సింపుల్!
AppImageకు అవసరమైన అనేక హ్యాక్లు మరియు వర్క్అరౌండ్లు ఇలా కనిపిస్తున్నాయి Linuxహైకులో, సరళత మరియు అధునాతనత అంతర్లీనంగా ఉండటం వలన, అది మన చాలా అవసరాలకు అనువుగా ఉంటుంది, కాబట్టి వాటిపై అనవసరమైనవి తొలగిపోతాయి.
హైకూకి యాప్ ప్యాకేజీలు అవసరమా?
ఇది నన్ను ఒక పెద్ద ప్రశ్నకు తీసుకువస్తుంది: Haikuలో AppImage వంటి వ్యవస్థను సృష్టించడం, ఇతర వాటి కంటే పది రెట్లు సులభం అయితే ఎలా ఉంటుంది? Linuxఅయితే, దానిని కొనసాగించడం విలువైనదేనా? లేదా, హైకు తన hpkg ప్యాకేజింగ్ సిస్టమ్తో అటువంటి ఆలోచన అవసరాన్ని సమర్థవంతంగా తొలగించిందా? సరే, దానికి సమాధానం చెప్పాలంటే, మనం AppImages వెనుక ఉన్న ప్రేరణను పరిశీలించాల్సి ఉంటుంది.
వినియోగదారు దృక్కోణం
మన తుది వినియోగదారుని చూద్దాం:
- నేను అడ్మినిస్ట్రేటర్ (రూట్) పాస్వర్డ్ అడగకుండానే అప్లికేషన్ను ఇన్స్టాల్ చేయాలనుకుంటున్నాను. హైకూలో అడ్మినిస్ట్రేటర్ అనే కాన్సెప్ట్ లేదు, ఇది వ్యక్తిగత వ్యవస్థ కాబట్టి వినియోగదారుకు పూర్తి నియంత్రణ ఉంటుంది! (సూత్రప్రాయంగా, మీరు దీన్ని మల్టీప్లేయర్ మోడ్లో ఊహించవచ్చు, డెవలపర్లు దీన్ని సరళంగా ఉంచుతారని నేను ఆశిస్తున్నాను)
- నేను అప్లికేషన్ల యొక్క తాజా మరియు గొప్ప సంస్కరణలను పొందాలనుకుంటున్నాను, అవి నా పంపిణీలో కనిపించే వరకు వేచి ఉండకుండా (చాలా తరచుగా దీని అర్థం "ఎప్పుడూ", కనీసం నేను మొత్తం ఆపరేటింగ్ సిస్టమ్ను అప్డేట్ చేస్తే తప్ప). హైకూలో ఇది తేలియాడే విడుదలలతో "పరిష్కరించబడింది". అప్లికేషన్ల యొక్క తాజా మరియు గొప్ప సంస్కరణలను పొందడం సాధ్యమవుతుందని దీని అర్థం, కానీ దీన్ని చేయడానికి మీరు మిగిలిన సిస్టమ్ను నిరంతరం నవీకరించాలి, దానిని సమర్థవంతంగా "కదిలే లక్ష్యం"గా మార్చాలి..
- తాజా వెర్షన్లో ఏది విచ్ఛిన్నమైందో తెలుసుకోవడానికి మార్గం లేనందున నాకు ఒకే అప్లికేషన్ యొక్క అనేక వెర్షన్లు పక్కపక్కనే కావాలి, లేదా చెప్పాలంటే, వెబ్ డెవలపర్గా నేను నా పనిని బ్రౌజర్ యొక్క విభిన్న వెర్షన్లలో పరీక్షించాలి. హైకూ మొదటి సమస్యను పరిష్కరిస్తుంది, కానీ రెండవది కాదు. అప్డేట్లు వెనక్కి తీసుకోబడ్డాయి, కానీ మొత్తం సిస్టమ్కు మాత్రమే; అమలు చేయడం అసాధ్యం (నాకు తెలిసినంత వరకు), ఉదాహరణకు, WebPositive లేదా LibreOffice యొక్క అనేక వెర్షన్లు ఒకే సమయంలో.
డెవలపర్లలో ఒకరు ఇలా వ్రాశారు:
ముఖ్యంగా హేతుబద్ధత ఇది: వినియోగ సందర్భం చాలా అరుదు కాబట్టి దాని కోసం ఆప్టిమైజ్ చేయడం అర్ధవంతం కాదు; హైకూపోర్ట్స్లో దీనిని ప్రత్యేక కేసుగా పరిగణించడం ఆమోదయోగ్యంగా లేదు.
- నేను యాప్లను నా స్టార్టప్ డ్రైవ్లో కాకుండా నాకు నచ్చిన చోట ఉంచాలి. నేను తరచుగా డిస్క్ స్థలం అయిపోతుంది, కాబట్టి నేను అప్లికేషన్లను నిల్వ చేయడానికి బాహ్య డ్రైవ్ లేదా నెట్వర్క్ డైరెక్టరీని కనెక్ట్ చేయాలి (నేను డౌన్లోడ్ చేసిన అన్ని వెర్షన్లు). నేను అలాంటి డ్రైవ్ను కనెక్ట్ చేస్తే, నేను డబుల్ క్లిక్ చేయడం ద్వారా అప్లికేషన్లను ప్రారంభించాలి. హైకూ పాత ప్యాకేజీల సంస్కరణలను సేవ్ చేస్తుంది, కానీ వాటిని బాహ్య డ్రైవ్కు ఎలా తరలించాలో లేదా తర్వాత అక్కడ నుండి అప్లికేషన్లను ఎలా ప్రారంభించాలో నాకు తెలియదు.
డెవలపర్ వ్యాఖ్య:
సాంకేతికంగా, ఇది ఇప్పటికే మౌంట్ కమాండ్తో సాధ్యమవుతుంది. వాస్తవానికి, మాకు తగినంత ఆసక్తి ఉన్న వినియోగదారులు ఉన్న వెంటనే మేము దీని కోసం GUIని తయారు చేస్తాము.
- నేను మాన్యువల్గా నిర్వహించలేని ఫైల్ సిస్టమ్లో మిలియన్ల కొద్దీ ఫైల్లు చెల్లాచెదురుగా ఉండటం నాకు అవసరం లేదు. నేను సులభంగా డౌన్లోడ్ చేయగల, తరలించగల, తొలగించగల ఒక అప్లికేషన్కు ఒక ఫైల్ కావాలి. హైకూలో ఈ సమస్య ప్యాకేజీలను ఉపయోగించి పరిష్కరించబడుతుంది
.hpkg, ఇది వేలకొద్దీ ఫైళ్ల నుండి ఒకదానికి బదిలీ చేస్తుంది, ఉదాహరణకు, పైథాన్. అయితే, ఉదాహరణకు, స్క్రిబస్ పైథాన్ని ఉపయోగిస్తుంటే, నేను కనీసం రెండు ఫైల్లతో వ్యవహరించాలి. మరియు నేను ఒకదానితో ఒకటి పనిచేసే వాటి యొక్క సంస్కరణలను ఉంచడానికి జాగ్రత్త తీసుకోవాలి.

ఒకే దానిపై AppImages యొక్క బహుళ వెర్షన్లు పక్కపక్కనే నడుస్తున్నాయి Linux
అప్లికేషన్ డెవలపర్ దృక్కోణం
అప్లికేషన్ డెవలపర్ దృక్కోణం నుండి చూద్దాం:
- నేను మొత్తం వినియోగదారు అనుభవాన్ని నియంత్రించాలనుకుంటున్నాను. నేను అప్లికేషన్లను ఎప్పుడు, ఎలా విడుదల చేయాలో చెప్పడానికి ఆపరేటింగ్ సిస్టమ్పై ఆధారపడటం నాకు ఇష్టం లేదు. హైకు డెవలపర్లు వారి స్వంత hpkg రిపోజిటరీలతో పని చేయడానికి అనుమతిస్తుంది, అయితే దీని అర్థం వినియోగదారులు వాటిని మాన్యువల్గా సెటప్ చేయాల్సి ఉంటుంది, ఇది ఆలోచనను "తక్కువ ఆకర్షణీయంగా" చేస్తుంది.
- నా వెబ్సైట్లో నేను పంపిణీ చేసే డౌన్లోడ్ పేజీ ఉంది
.exeకోసం Windows,.dmgMac కోసం మరియు.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ల కోసం సరళమైన మరియు అధునాతనమైన యూజర్ ఇంటర్ఫేస్ను అందించే మౌలిక సదుపాయాన్ని కలిగి ఉంది మరియు ఇది సాధారణంగా PCల కోసం అందించే దానికంటే చాలా ఎక్కువ. Linuxప్యాకేజీ వ్యవస్థ .hpkg ఇది అలాంటి ఒక ఉదాహరణ, కానీ సిస్టమ్లోని ఇతర భాగాలు కూడా అధునాతనతతో నిండి ఉన్నాయి. అయితే, అప్లికేషన్ కేటలాగ్లు మరియు ఇమేజ్లకు సరైన మద్దతు ఉంటే హైకుకు ప్రయోజనం చేకూరుతుంది. దీన్ని ఉత్తమంగా ఎలా చేయాలో, నాకంటే హైకు, దాని తత్వశాస్త్రం మరియు ఆర్కిటెక్చర్ గురించి బాగా తెలిసిన వ్యక్తులతో చర్చించడం మంచిది. ఏదేమైనా, నేను హైకును ఉపయోగించడం మొదలుపెట్టి వారం రోజులు మాత్రమే అయ్యింది. అయినప్పటికీ, ఈ కొత్త దృక్పథం హైకు డిజైనర్లు, డెవలపర్లు మరియు ఆర్కిటెక్ట్లకు ఉపయోగకరంగా ఉంటుందని నేను నమ్ముతున్నాను. కనీసం, నేను వారికి ఒక "స్పారింగ్ పార్టనర్"గా ఉండటానికి సంతోషిస్తాను. అప్లికేషన్ కేటలాగ్లు మరియు ఇమేజ్ బండిల్స్తో పనిచేయడంలో నాకు 10 సంవత్సరాలకు పైగా ఆచరణాత్మక అనుభవం ఉంది. Linuxమరియు నేను వాటికి హైకులో ఒక ఉపయోగాన్ని కనుగొనాలనుకుంటున్నాను, దానికి అవి ఖచ్చితంగా సరిపోతాయని నేను నమ్ముతున్నాను. నేను వివరించిన సమస్యలకు నేను ప్రతిపాదించిన సంభావ్య పరిష్కారాలు మాత్రమే లేవు, మరియు హైకు బృందం ఇతర, మరింత సొగసైన పరిష్కారాలను కనుగొనాలని నిర్ణయించుకుంటే, నేను దానికి పూర్తిగా మద్దతిస్తాను. సూత్రప్రాయంగా, ఈ వ్యవస్థను ఎలా రూపొందించాలనే దానిపై నేను ఇప్పటికే ఒక ఆలోచన చేస్తున్నాను. hpkg ఇది పని చేసే విధానాన్ని మార్చకుండా మరింత అద్భుతమైనది. ప్యాకేజీ నిర్వహణ వ్యవస్థను అమలు చేస్తున్నప్పుడు హైకూ బృందం చాలా కాలంగా అప్లికేషన్ బండిల్ల గురించి ఆలోచిస్తున్నట్లు తేలింది, అయితే దురదృష్టవశాత్తు (నేను అనుకుంటున్నాను) ఆలోచన "నిరుపయోగంగా" మారింది. బహుశా దాన్ని పునరుద్ధరించే సమయం వచ్చిందా?
మీరే ప్రయత్నించండి! అన్నింటికంటే, హైకూ ప్రాజెక్ట్ రూపొందించిన DVD లేదా USB నుండి బూట్ చేయడానికి చిత్రాలను అందిస్తుంది .
మీకు ఏవైనా ప్రశ్నలు ఉన్నాయా? మేము మిమ్మల్ని రష్యన్ మాట్లాడటానికి ఆహ్వానిస్తున్నాము .
లోపం స్థూలదృష్టి:
నుండి అనువాదం: ఇది హైకూ గురించి సిరీస్లో ఎనిమిదవ మరియు చివరి వ్యాసం.
వ్యాసాల జాబితా:
నమోదు చేసుకున్న వినియోగదారులు మాత్రమే సర్వేలో పాల్గొనగలరు. దయచేసి.
hpkg సిస్టమ్ను పోర్ట్ చేయడం సమంజసమేనా? Linux?
అవును
ఏ
ఇప్పటికే అమలు చేయబడింది, నేను వ్యాఖ్యలలో వ్రాస్తాను
20 మంది వినియోగదారులు ఓటు వేశారు. 5 మంది వినియోగదారులు దూరంగా ఉన్నారు.
మూలం: www.habr.com
