ทำไมการตั้งค่าพร็อกซีจึงใช้ได้ในเทอร์มินัลแต่ไม่ใช้ในตัวเรียกใช้เดสก์ท็อป
วางการกำหนดค่าพร็อกซีไว้ที่ขอบเขตการเปิดใช้จริงของเดสก์ท็อป และใช้รูปแบบคำสั่งของรายการเดสก์ท็อปแทนสมมติฐานเกี่ยวกับการเริ่มชีล
คุณส่งออกพร็อกซีในเทอร์มินัล คำสั่งที่เริ่มที่นั่นใช้พร็อกซีนั้น การคลิกไอคอนเดสก์ท็อปยังคงให้เส้นทางอื่น ไอคอนไม่ได้กลายเป็นลูกของเทอร์มินัลนั้น
เซสชันเดสก์ท็อปเริ่มแอปพลิเคชันผ่านกลไกการเปิดใช้ของตัวเอง กระบวนการเหล่านั้นสืบทอดสภาพแวดล้อมนั้น ไม่ใช่ทุกการแก้ไขที่ทำในภายหลังภายในชีลที่ไม่เกี่ยวข้อง สิ่งนี้อธิบายความแตกต่างได้โดยไม่พิสูจน์ว่าแพ็กเกจแอปพลิเคชันบกพร่อง
Exec คือคำอธิบายคำสั่ง ไม่ใช่สคริปต์ชีล
ข้อกำหนด Desktop Entry กำหนดไฟล์เรียกทำงานและอาร์กิวเมนต์สำหรับ Exec แต่ไม่ได้สัญญาว่าจะขยายตัวแปรชีลหรือคำสั่งภายในของชีล
สำหรับโปรแกรมภายนอกที่อ่านตัวแปรสภาพแวดล้อมที่เกี่ยวข้อง การเปิดใช้ที่จำกัดขอบเขตโดยเจตนาอาจมีรูปแบบนี้:
Exec=env https_proxy=http://proxy.example:8080 /path/to/applicationแทนที่ทั้งปลายทางและไฟล์เรียกทำงาน ทั้งสองอย่างนี้แสดงอินพุตของการเปิดใช้ ไม่ใช่การรับประกันว่าแอปพลิเคชันใด ๆ จะอ่านตัวแปรนั้น เบราว์เซอร์ที่มีนโยบายพร็อกซีชัดเจนของตัวเองยังคงเลือกแหล่งการกำหนดค่าอื่นได้ สำหรับ Chrome บันทึกอาร์กิวเมนต์พร็อกซีของไว้ในตัวเรียกใช้ของผู้ใช้
อย่าเขียน Exec=export ... แล้วคาดว่าเดสก์ท็อปจะตีความเป็นชีลเข้าสู่ระบบของคุณ ให้คำนึงถึงกฎการใส่เครื่องหมายคำพูดและรหัสฟิลด์ที่รองรับของรายการเดสก์ท็อปด้วย เพราะสิ่งเหล่านั้นเป็นตัวแยกวิเคราะห์อีกตัวหนึ่ง
ตรวจสอบว่ามีสิ่งใหม่ถูกเปิดใช้หรือไม่
แอปพลิเคชันบางตัวส่งคำขอไปยังอินสแตนซ์ที่ทำงานอยู่แล้ว รายการบางรายการใช้การเปิดใช้งานผ่าน D-Bus ซึ่งมีเส้นทางการเปิดใช้ของตัวเอง การคลิกไอคอนใหม่ไม่ได้สร้างกระบวนการใหม่ที่มีสภาพแวดล้อม Exec ที่เพิ่งแก้ไข
ระบุอินสแตนซ์ที่ส่งคำขอและระบุการกำหนดค่าที่อินสแตนซ์นั้นเป็นเจ้าของจริง การเปิดใช้ใหม่ที่ควบคุมได้สามารถจำกัดการเปรียบเทียบให้แคบลงเมื่อเหมาะสม หลีกเลี่ยงการติดตั้งแอปพลิเคชันใหม่ก่อนที่จะยืนยันว่าสภาพแวดล้อมที่ตั้งใจไว้เคยไปถึงมันหรือไม่