ฉันพยายามที่จะทำตามคำแนะนำสำหรับการตรึงแท็บเริ่มต้นใน Chrome บน OS X ฉันจะเพิ่มอาร์กิวเมนต์บรรทัดคำสั่งให้กับรายการที่ยังคงอยู่ใน Dock ของฉันได้อย่างไร
ฉันพยายามที่จะทำตามคำแนะนำสำหรับการตรึงแท็บเริ่มต้นใน Chrome บน OS X ฉันจะเพิ่มอาร์กิวเมนต์บรรทัดคำสั่งให้กับรายการที่ยังคงอยู่ใน Dock ของฉันได้อย่างไร
คำตอบ:
คุณมีสองตัวเลือกโดยทั่วไป:
ตัวเลือกที่ 1 : ใช้ Automator เพื่อสร้างแอปพลิเคชันที่มีผลบังคับใช้เปิดตัว Chrome พร้อมอาร์กิวเมนต์บรรทัดคำสั่ง
เริ่มอัตโนมัติและเลือกที่จะสร้างแอพลิเคชัน ดับเบิลคลิกRun Shell Scriptในโฟลเดอร์Library / Utilitiesและแทนที่เนื้อหาข้อความ - cat
- ด้วยสิ่งต่อไปนี้:
open -a "Google Chrome.app" --args -pinned-tab-count=4
# keep the .app suffix or will break with Parallels
บันทึกได้ทุกที่ที่คุณต้องการ
เพื่อแทนที่ไอคอนของโปรแกรมนี้รับข้อมูลบน Google Chrome จริงคลิกที่ไอคอนด้านบนซ้ายกดCmd-C
, รับข้อมูลในแอป Chrome Cmd-V
อัตโนมัติให้คลิกที่ไอคอนและกด
เนื่องจากเป็นแอปพลิเคชันที่แตกต่างกัน Dock จะแสดงสองแอปพลิเคชัน Chrome เมื่อทำงาน: Chrome และตัวเรียกใช้งาน Chrome ของคุณ
ตัวเลือก 2 : แก้ไขชุดแอปพลิเคชันของคุณเพื่อเรียกใช้สคริปต์แทน สคริปต์นี้จะเริ่มต้นแอปพลิเคชันจริงโดยเพิ่มอาร์กิวเมนต์บรรทัดคำสั่ง
คลิกขวาGoogle Chrome.app
และเลือกShow Package Contents ไปที่Contents/
และเปิดInfo.plist
ในตัวแก้ไขรายการ / Xcode (เครื่องมือสำหรับนักพัฒนาของ Apple) หรือตัวplist
แก้ไขบุคคลที่สาม
มองหารายการหรือCFBundleExecutable
Executable File
จำค่าของมัน (เช่นfirefox-bin
สำหรับ Firefox) parameterized-app.sh
แทนที่ด้วย
เปิด Terminal แล้วป้อนข้อมูลต่อไปนี้:
touch /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
open /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
โปรแกรมแก้ไขสำหรับ.sh
ไฟล์จะเปิดขึ้น ตั้งค่าเนื้อหาของไฟล์เป็น:
#!/usr/bin/env bash
exec /Applications/Firefox.app/Contents/MacOS/firefox-bin -ProfileManager
(ใช้ชื่อของไฟล์เรียกทำงานจริงที่คุณลบออกจากInfo.plist
นั้นเพิ่มอาร์กิวเมนต์บรรทัดคำสั่งที่ต้องการ)
บันทึกและปิด ใน Terminal ให้ป้อนข้อมูลต่อไปนี้:
chmod +x /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
ตอนนี้ปิด Terminal แล้วย้ายแอปพลิเคชั่นของคุณ (ซึ่งจะต้องไม่ทำงานในขณะนี้) ไปยังโฟลเดอร์อื่นแล้วกลับมาอีกครั้ง นี่จะอัปเดตบริการเปิดใช้งานมิฉะนั้นการเปลี่ยนแปลงของคุณจะถูกละเว้นและทำให้คุณรำคาญอย่างมาก
ตอนนี้เมื่อคุณเปิดแอปพลิเคชันของคุณมันจะเรียกใช้งาน.sh
ไฟล์จริงซึ่งจะเป็นการเปิดไฟล์ปฏิบัติการจริงโดยส่งบรรทัดคำสั่งไปตาม
มันจะมีลักษณะและมีลักษณะเหมือนที่คุณคาดหวัง แต่คุณจะต้องทำซ้ำเมื่อใดก็ตามที่คุณอัปเดตแอปพลิเคชันของคุณเนื่องจากโดยทั่วไปจะแทนที่บันเดิลของแอปพลิเคชันและการเปลี่ยนแปลงทั้งหมดที่คุณทำ
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f /Applications/Hello\ World.app
คุณสามารถเขียนสคริปต์ที่เปิดใช้งาน Chrome แต่นั่นไม่ใช่ไอคอนแอปพลิเคชันใน Dock และจะทำให้ไอคอน Chrome แยกต่างหากปรากฏขึ้น ดังนั้นคุณจะต้องสร้างแพ็คเกจแอปพลิเคชัน
ก่อนอื่นทำสำเนาแอป Chrome ของคุณ จากนั้นมีสองวิธีที่อาจใช้งานได้ ฉันไม่แน่ใจว่าจะเล่นกับ Mac OS X และ / หรืออัปเดตด้วยตนเองได้ดีกว่า Chrome
สร้าง "ตัวเรียกใช้" ที่เพิ่งเรียก Chrome ด้วยอาร์กิวเมนต์
ในโฟลเดอร์ MacOS ลบไฟล์ปฏิบัติการ“ Google Chrome” และแทนที่ด้วยเชลล์สคริปต์ที่เรียกใช้ Chrome จริง:
#!/bin/sh
exec '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' -pinned-tab-count=4
อย่าลืมchmod +x
สคริปต์
แก้ไขแพ็คเกจ Chrome ที่คุณใช้งานจริง
ในโฟลเดอร์ MacOS เปลี่ยนชื่อ“ Google Chrome” และเขียนเชลล์สคริปต์ซึ่งเรียกใช้ของจริงด้วยอาร์กิวเมนต์พิเศษ:
#!/bin/sh
exec '/Applications/My Modified Google Chrome.app/Contents/MacOS/Google Chrome-real' -pinned-tab-count=4
CodeResources
และ / หรือ_CodeSignature
เพื่อให้มันทำงานด้วยการเปลี่ยนแปลงเหล่านี้ทั้งหมดนี้เป็นไปตามความเข้าใจของฉันเกี่ยวกับแพคเกจแอป Mac ฉันไม่ได้ทดสอบการเปลี่ยนแปลงเหล่านี้กับ Chrome เป็นพิเศษ มันเป็น posible แม้กระทั่งว่าปฏิบัติการ Chrome บน Mac ไม่สนับสนุนตัวเลือกนี้เป็นโปรแกรมประยุกต์ Mac มักจะไม่ได้คาดหวังที่จะทำงานกับตัวเลือกบรรทัดคำสั่งควบคุม (ไม่เหมือน, ตัวอย่างเช่น Windows ที่โปรแกรมจะปกติเปิดตัวผ่านทางลัดที่สามารถ มีตัวเลือกในตัว)
chmod 755 Google\ Chrome
(สคริปต์ของคุณ) หลังจากเสร็จสิ้น ฉันตั้งชื่อสคริปต์การเปิดตัวของฉันจริง ๆ แล้วเชื่อมโยงกับ Google \ Chrome เพื่อความสะดวกในการอัปเดต