Դուք վստահված անձ եք արտահանում տերմինալում։ Այնտեղ մեկնարկված հրամանն օգտագործում է այն։ Աշխատասեղանի պատկերակին սեղմելը դեռ տալիս է այլ ուղի։ Պատկերակը չդարձավ այդ տերմինալի զավակ։

Աշխատասեղանի նստաշրջանը ծրագրերը մեկնարկում է իր սեփական մեկնարկային մեխանիզմով։ Այդ պրոցեսները ժառանգում են այն միջավայրը, ոչ թե անկապ shell-ում ավելի ուշ կատարված յուրաքանչյուր փոփոխություն։ Սա կարող է բացատրել տարբերությունը՝ չապացուցելով, որ ծրագրի փաթեթը թերի է։

Exec-ը հրամանի նկարագրություն է, ոչ shell-ի սկրիպտ

Desktop Entry բնութագիրը սահմանում է գործարկվող ֆայլ և արգումենտներ Exec-ի համար։ Այն չի խոստանում shell-ի փոփոխականների ընդլայնում կամ shell-ի ներկառուցված հրամաններ։

Համապատասխան միջավայրի փոփոխականը կարդացող արտաքին ծրագրի համար դիտավորյալ սահմանափակ մեկնարկը կարող է ունենալ այս ձևը՝

Exec=env https_proxy=http://proxy.example:8080 /path/to/application

Փոխարինեք և՛ վերջնակետը, և՛ գործարկվող ֆայլը։ Սա ցույց է տալիս մեկնարկի մուտքը, ոչ թե երաշխիք, որ կամայական ծրագիր կկարդա այդ փոփոխականը։ Իր սեփական բացահայտ վստահված անձի քաղաքականություն ունեցող դիտարկիչը դեռ կարող է ընտրել կազմաձևի այլ աղբյուր։ Chrome-ի համար պահեք նրա վստահված անձի արգումենտը օգտվողի մեկնարկիչում։

Մի գրեք Exec=export ... և մի սպասեք, որ աշխատասեղանը կմեկնաբանի այն որպես ձեր մուտքի shell։ Հաշվի առեք նաև աշխատասեղանի գրառման չակերտների կանոնները և աջակցվող դաշտային կոդերը. դրանք մեկ այլ վերլուծիչ են։

Ստուգեք՝ արդյոք նոր բան մեկնարկվե՞լ է

Որոշ ծրագրեր հարցումն ուղարկում են արդեն աշխատող օրինակին։ Որոշ գրառումներ օգտագործում են D-Bus ակտիվացում, որն ունի իր մեկնարկի ուղին։ Պատկերակի նոր սեղմումը չի ստեղծում նոր պրոցես նոր խմբագրված Exec միջավայրով։

Որոշեք հարցումն ուղարկող օրինակը և կազմաձևը, որն այն իսկապես տիրապետում է։ Վերահսկվող նոր մեկնարկը կարող է նեղացնել համեմատությունը, երբ դա տեղին է։ Խուսափեք ծրագրի վերանորոգումից մինչև չհաստատեք, որ նախատեսված միջավայրը երբևէ հասել է դրան։

Առնչվող հոդվածներ