ฉันจะติดตั้ง iPhone 6s บน Ubuntu 16.04 ได้อย่างไร


31

ฉันใหม่กับ Ubuntu และฉันไม่รู้วิธีติดตั้ง iPhone ของฉัน

ฉันต้องการดาวน์โหลด iTunes แต่ฉันเห็นว่า USB ไม่ทำงาน แต่ฉันต้องเข้าถึงไฟล์และแอพทั้งหมดของฉันเพราะต้องการโอนแอพจากพีซีไปยัง iPhone


การเจลเบรคโทรศัพท์หรือไม่
— fakedad

ไม่ไม่สดชื่นเหมือนใหม่
— Rizio A.

เท่าที่ฉันรู้ไม่มีทางเมาระบบไฟล์ของ iPhone โดยปกติผ่าน USB บนระบบปฏิบัติการใด ๆ ยิ่งไปกว่านั้นฉันไม่รู้แอพพลิเคชั่นใด ๆ สำหรับ Ubuntu (หรือลินุกซ์ distro สำหรับเรื่องนั้น) ที่อนุญาตให้ซิงค์แอพกับอุปกรณ์ iOS
— fakedad

คุณสามารถลองใช้ Windows ในเครื่องเสมือนโดยใช้ VirtualBox และจัดการแอพผ่าน iTunes ใน VM
— fakedad

ฉันอ่านที่ไหนสักแห่งว่ามันสามารถทำงานได้ติดตั้ง GKSU NAUTILUS ... (โดยแท้จริงแล้วมันคือ wtf) แต่มันให้ข้อผิดพลาดบางอย่าง ... และไม่สามารถดาวน์โหลด VirtualBox ... คุณมีลิงค์หรือไม่
— Rizio A.

คำตอบ:


36

เห็นได้ชัดว่าฉันผิดเกี่ยวกับความสามารถในการติดตั้ง iPhone บน Ubuntu คุณสามารถทำสิ่งนี้ได้โดยใช้ขั้นตอนต่อไปนี้ใน yakkety หมายเหตุคุณจะต้องใช้อุปกรณ์ในการเจลเบรคเพื่อโหลดแอพลงในอุปกรณ์ด้วยวิธีนี้ แต่วิธีนี้จะพอเพียงสำหรับการรับสื่อจากอุปกรณ์

ตัวเลือกที่ 1: การใช้สคริปต์

หากคุณต้องการช่วยตัวเองสักครู่คุณสามารถดาวน์โหลดสคริปต์ที่นี่เพื่อทำส่วนใหญ่ของกระบวนการให้คุณ

เมื่อดาวน์โหลดแล้วคุณจะต้องเปลี่ยนการอนุญาตเพื่อให้คุณสามารถเรียกใช้งานสคริปต์ได้ สมมติว่าคุณดาวน์โหลดมันมีชื่อเริ่มต้นiphone_setup.sh, cdไดเรกทอรีที่คุณดาวน์โหลดไฟล์และทำ

chmod u+x iphone_setup.sh

แปลงจุดสิ้นสุดบรรทัด Windows โดยทำ

ex -bsc '%!awk "{sub(/\r/,\"\")}1"' -cx iphone_setup.sh

จากนั้นเรียกใช้สคริปต์ด้วยสิทธิ์ของรูทโดยใช้

sudo ./iphone_setup.sh

นี้จะเสร็จสมบูรณ์ทุกขั้นตอนที่ 1ของการตั้งค่าด้วยตนเองสำหรับคุณเช่นเดียวกับขั้นตอนที่ 3และขั้นตอนที่ 4 จากนั้นคุณจะต้องทำขั้นตอนที่ 2และขั้นตอนที่ 5ของการตั้งค่าด้วยตนเองหลังจากสคริปต์ทำงานเสร็จสิ้น

ตัวเลือก 2: ทำด้วยตนเอง

ขั้นตอนที่ 1: การติดตั้งเครื่องมือ

ก่อนเสียบเข้ากับ iPhone คุณจะต้องติดตั้งหลาย ๆ โปรแกรมเพื่อให้สามารถติดตั้ง iPhone ได้

ขั้นตอนที่ 1.1: การติดตั้งเครื่องมือสำคัญต่าง ๆ ด้วย apt-get

ทำสิ่งต่อไปนี้ในเครื่องเทอร์มินัลเพื่อติดตั้งแพ็กเกจบางอย่างที่จำเป็นสำหรับ iOS ทุกรุ่น

sudo apt-get install ideviceinstaller python-imobiledevice libimobiledevice-utils python-plist usbmuxd

หากคุณกำลังเชื่อมต่อ iPhone กับ iOS เวอร์ชันก่อน iOS 9 คุณสามารถข้ามขั้นตอนย่อยที่เหลือของขั้นตอนที่ 1 และทำตามขั้นตอนต่อไปนี้แทน:

sudo apt-get install libimobiledevice6 libplist3 ifuse

ขั้นตอนที่ 1.2: การติดตั้งเครื่องมือสำหรับการสร้าง

ใช้apt-getเพื่อติดตั้งโปรแกรมสองสามโปรแกรมที่จำเป็นในการสร้างโปรแกรมในขั้นตอนต่อไปนี้

sudo apt-get install libtool autoconf automake

ขั้นตอนที่ 1.3: การติดตั้ง libplist

libplistก่อนติดตั้งการอ้างอิงที่จำเป็นสำหรับการสร้าง ในการทำสิ่งนี้ให้ทำดังต่อไปนี้:

sudo apt-get install libxml2-dev python-dev

จากนั้นดาวน์โหลดเวอร์ชันล่าสุดของlibplistจาก GitHub และแยกเนื้อหาของไฟล์ zip ไปยังไดเรกทอรีบางส่วน ตัวอย่างเช่นถ้าคุณอยู่ในไดเรกทอรีที่คุณดาวน์โหลดไฟล์ซิปทำlibplistunzip libplist-master.zip

ตอนนี้คุณควรมีไดเรกทอรีชื่อ "libplist-master" ในไดเรกทอรีที่คุณแตกlibplistไฟล์ zip cdในไดเรกทอรีนี้จากเทอร์มินัลและการเรียกใช้

./autogen.sh

เมื่อ./autogen.shสคริปต์รันเสร็จแล้วให้รัน

make

และในที่สุดก็วิ่ง

sudo make install

ขั้นตอนที่ 1.4: การติดตั้ง libusbmuxd

ขั้นตอนนี้จะคล้ายกับขั้นตอนก่อนหน้ายกเว้นเราจะติดตั้งแทนlibusbmuxdlibplist

ขั้นแรกให้ดาวน์โหลดเวอร์ชันล่าสุดของlibusbmuxdจาก GitHub อีกครั้งดึงข้อมูลไปยังไดเรกทอรีและไดเรกทอรีcd libusbmuxd-masterจากนั้นเรียกใช้สิ่งต่อไปนี้:

./autogen.sh

เมื่อเสร็จแล้วให้เรียกใช้

make

ติดตามโดย

sudo make install

ขั้นตอนที่ 1.5: การติดตั้ง libimobiled อุปกรณ์

ก่อนอื่นให้ติดตั้ง build dependencies โดยทำสิ่งต่อไปนี้:

sudo apt-get install libssl-dev

จากนั้นดาวน์โหลดเวอร์ชันล่าสุดของlibimobiledeviceจาก GitHub แยกตามขั้นตอนก่อนหน้านี้สองขั้นตอน คุณควรหาไดเร็กตอรี่ในไดเร็กตอรี่ที่คุณแตกออกมาlibimobiledevice-master. cdในไดเรกทอรีนี้และเรียกใช้อีกครั้ง

./autogen.sh

เมื่อเสร็จแล้วให้เรียกใช้

make

ติดตามโดย

sudo make install

ขั้นตอนที่ 1.6: การติดตั้ง usbmuxd รุ่นที่ดีกว่า

ก่อนอื่นให้ถอนการติดตั้งเวอร์ชันเก่าusbmuxdโดยทำ

sudo apt-get remove usbmuxd

จากนั้นติดตั้ง build dependencies โดยทำ

sudo apt-get install libimobiledevice-dev libplist-dev libusb-dev libusb-1.0.0-dev libtool-bin libtool

จากนั้นดาวน์โหลดเวอร์ชันล่าสุดของusbmuxdจาก GitHub แยกและcdไปยังusbmuxd-masterไดเรกทอรี วิ่งอีกครั้ง

./autogen.sh

เมื่อเสร็จแล้วให้เรียกใช้

make

ติดตามโดย

sudo make install

ขั้นตอนที่ 1.7: การติดตั้ง ifuse

นี่คือสิ่งสุดท้ายที่คุณจะต้องติดตั้ง!

ก่อนติดตั้งการสร้างการอ้างอิงโดยทำ

sudo apt-get install libfuse-dev

ดาวน์โหลดรุ่นล่าสุดของifuseจาก GitHub แยกไปยังไดเรกทอรีบางส่วนและcdลงในไดเรกทอรีifuse-masterและcdลงในไดเรกทอรีนั้น

เวลานี้มีขั้นตอนพิเศษในการสร้างโปรแกรม ทำ

./autogen.sh

ตามปกติ แต่แล้วทำ

./configure

เช่นกัน จากนั้นดำเนินการต่อตามปกติ

make

และ

sudo make install

ขั้นตอนที่ 2: เรียกใช้ usbmuxd และแนบ iPhone

ขั้นตอนนี้ง่าย เรียกใช้usbmuxdในเทอร์มินัลแล้วเสียบ iPhone

ตอนนี้ตรวจสอบเพื่อดูว่าอุปกรณ์ได้รับการยอมรับอย่างถูกต้องโดยการทำ

dmesg | grep ipheth

หากไม่มีอะไรปรากฏขึ้นให้ลองตัดการเชื่อมต่อ iPhone ทำงานusbmuxdอีกครั้งแล้วเสียบกลับเข้าไปใหม่จากนั้นตรวจสอบอีกครั้ง

ขั้นตอนที่ 3: สร้างจุดเชื่อมต่อสำหรับ iPhone

คุณสามารถสร้างจุดเชื่อมต่อสำหรับ iPhone ด้วยตนเองได้

sudo mkdir /media/iPhone

จากนั้นคุณจะต้องการเปลี่ยนการอนุญาตสำหรับจุดเชื่อมต่อ ทำ

sudo chmod 777 /media/iPhone

ขั้นตอนที่ 4: การแก้ไขไฟล์กำหนดค่า ifuse

ไฟล์การกำหนดค่า ifuse /etc/fuse.confต้องมีการแก้ไขหากคุณต้องการเข้าถึง iPhone โดยไม่ต้องรูท

แก้ไขไฟล์กำหนดค่าโดยใช้เครื่องมือแก้ไขที่คุณชื่นชอบเช่น gedit

sudo gedit /etc/fuse.conf

ในไฟล์ให้แน่ใจว่าสองบรรทัดต่อไปนี้อยู่ใต้บรรทัดที่ระบุว่า# Allow non-root users to specify the allow_other or allow_root mount options:

op$
user_allow_other

บันทึกไฟล์และออกจากโปรแกรมแก้ไข

ขั้นตอนที่ 5: จับคู่ iPhone

เรียกใช้บรรทัดต่อไปนี้เพื่อจับคู่ iPhone ของคุณโดยใช้idevicepair:

idevicepair pair

ขั้นตอนที่ 6: ติดตั้งด้วย ifuse

รันบรรทัดต่อไปนี้เพื่อเมานต์อุปกรณ์ที่จุดเมานต์ที่ระบุไว้ก่อนหน้า:

ifuse /media/iPhone

หมายเหตุ : ณ จุดนี้คุณอาจเมานต์ระบบไฟล์รูทหากคุณมีการเจลเบรคโทรศัพท์โดยทำตามบรรทัดต่อไปนี้แทน

ifuse /media/iPhone/ --root

ตอนนี้ iPhone ควรเข้าถึงได้/media/iPhoneจากเบราว์เซอร์ไฟล์ของคุณ

เมื่อคุณต้องการยกเลิกการต่อเชื่อมให้ทำสองบรรทัดต่อไปนี้

fusermount -u /media/iPhone/
idevicepair unpair

ขั้นตอนเหล่านี้ได้รับการดัดแปลงให้เป็น xenial จากบทช่วยสอนนี้ที่ dedoimedoจากนั้นปรับเปลี่ยนเพิ่มเติมเพื่อให้เหมาะกับอุปกรณ์ที่ใช้ iOS 9+


1
[1461.760447] ipheth 1-2: 4.2 enp0s20u2c4i2: เปลี่ยนชื่อจาก eth0 stream13 @ stream13-HP-Stream-Notebook-PC-13: ~ $ mkdir / สื่อ / iPhone mkdir: ไม่อนุญาตให้สร้างฉันขออนุญาต ไม่ทราบว่าจะทำอย่างไรคู่ ...
— Rizio A.

1
@ RizioA.Sorry นั่นน่าจะเป็นsudo mkdir /media/iPhone
— fakedad

1
@ RizioA.Same กับsudo chmod 777 /media/iPhone
— fakedad

5
สิ่งนี้ใช้ไม่ได้กับ iOS 10: "ข้อผิดพลาด GnuTLS: ข้อผิดพลาดในฟังก์ชั่นดึงล้มเหลวในการเชื่อมต่อกับบริการ lockdownd บนอุปกรณ์ลองอีกครั้งหากยังไม่สามารถลองรีบูตอุปกรณ์ของคุณ"
— zgoda

2
ขั้นตอนที่ # 6 ไม่ทำงานสำหรับฉัน แต่ File explorer ทำงานขอบคุณมาก
— Anand Rockzz

5

ทดสอบกับ iPhone 4S บน 16.04 และ 18.04; ไม่มีเหตุผลที่จะเชื่อว่ามันจะแตกต่างกันในรุ่น 6 หรือใหม่กว่า

[แก้ไข: ดูด้านล่างใช้งานได้จนถึง iPhone 7]

เส้นทางที่ค่อนข้างง่าย:

➊ติดตั้ง:

sudo apt install ideviceinstaller python-imobiledevice libimobiledevice-utils python-plist usbmuxd libimobiledevice6 libplist3 ifuse

คุณอาจต้องทำเช่นนี้ด้วย: sudo mkdir / var / lib / lockdown sudo chmod 777 / var / lib / lockdown

➋ใน Terminal เพื่อดูที่อยู่ iphone ของคุณ:

 lsusb -v 2> /dev/null | grep -e "Apple Inc" -A 2

คุณจะเห็นบางสิ่งดังนี้:

iManufacturer 1 แอปเปิ้ลอิงค์
iProduct 2 iPhone
iSerial 3 ca00d62380d42746b8ff8280 .... d1fd7b7119ca

Naut เปิด Nautilus

ป้อน iSerial จากด้านบน:

afc://ca00d62380d4274....f8280a91ed1fd7b7119ca/

ตอนนี้คุณเห็นไฟล์ของคุณ

➍คุณสามารถติดตั้ง VLC Mobile จาก App Store ได้ฟรีซึ่งจะช่วยให้คุณเล่นรูปแบบ iTunes ไม่สามารถจัดการ Flac Wavpack ฯลฯ

คุณจะเห็น / วางไฟล์เพลงในเอกสารบน iPhoneถัดจากiPhoneทางซ้ายของหน้า [นี่คือ LXDE; ต้องดูคล้ายกับสภาพแวดล้อมเดสก์ทอปอื่น]

=== เคล็ดลับ ===

หากไฟล์ iphone VLC ไม่ปรากฏบนพีซีของคุณ ฉันพบสิ่งนี้นำพวกเขากลับมา:

sudo usbmuxd --verbose -f    

วิธีนี้ใช้งานได้ดีในการเข้าถึงรูปภาพของ iPhone 7 Plus ของฉันในวันที่ 18.04 และเป็นวิธีที่ง่ายกว่าคำตอบอื่น ๆ ขอบคุณ!
— Abe Voelker

Thanx Abe ที่บอกว่ามันใช้งานได้ดีใน 7 เพราะทุกอย่างที่ฉันมีคือ 4S .... ดีสำหรับคนอื่น ๆ หรือถ้าฉันเคยแยกออกมาสำหรับของเล่นล่าสุด:] ไม่จำเป็นต้องเป็นเพราะ 4S ยังคงยอดเยี่ยมตั้งแต่ปี 2011!
— shantiq

ตอนนี้ทดสอบบน iPhone SE และปรับไว้ที่นั่นด้วย
— Shantiq

3

ดูเหมือนว่าด้วย iOS 10.2 Apple ได้ทำเสียอีกครั้ง เพื่อแก้ไข:

  1. ดาวน์โหลดจาก GitHub รุ่นล่าสุดของ: libplist, libusbmuxd, libimobiledevice, ifuseและusbmuxd

  2. สารสกัดจากไปรษณีย์ไฟล์ในโฟลเดอร์ที่คุณต้องการใส่ในแต่ละไดเรกทอรีและการเปิดตัวสะสมของห้องสมุดที่สอดคล้องกัน (ถ้าคุณไม่ทราบวิธีการที่จะทำเพียงแค่ทำตามคำแนะนำภายในแฟ้ม readme ภายในแต่ละ lib และจำได้ว่ารุ่นพัฒนาopensslมี เรียกว่าlibssl-devเมื่อจำเป็น) โปรดทราบว่าคำสั่งสุดท้าย 'sudo ทำการติดตั้ง' ควรใส่ไลบรารีที่คอมไพล์/usr/local/libแล้ว

  3. ตรวจสอบให้แน่ใจว่าสภาพแวดล้อมชี้ไปที่เวอร์ชันใหม่นี้แทนที่จะเป็นเวอร์ชั่นเก่าที่รวมอยู่ในแพ็คเกจอย่างเป็นทางการ:

    sudo LD_LIBRARY_PATH=/usr/local/lib usbmuxd    
    export LD_LIBRARY_PATH=/usr/local/lib
    
  4. เชื่อมต่ออุปกรณ์ iOS 10.2 กับคอมพิวเตอร์ของคุณ:

    idevicepair pair
    
  5. เลือก "เชื่อถือ" เพื่อเตือน "เชื่อถือคอมพิวเตอร์เครื่องนี้หรือไม่" บนอุปกรณ์ของคุณ:

    idevicepair pair
    
  6. เมานต์ระบบไฟล์ iOS

    ifuse Mountpoint_Directory/
    

ทดสอบบน Ubuntu 16.04 และ iPhone 7 ด้วย iOS 10.2


ในระบบ Ubuntu 16.04 ในสต็อกของฉันโทรศัพท์ไม่แสดงแม้แต่ใน lsusb ไลบรารีนี้จะตั้งค่าแก้ไขเพื่อให้ฉันสามารถใช้ iTunes ภายใน VirtualBox ได้หรือไม่
— Greg Bell

หลายเดือนผ่านไปแล้วและฉันก็จำไม่ได้อย่างสมบูรณ์ แต่ฉันคิดว่า iPhone ของฉันถูกตรวจพบใน lsusb ก่อนที่จะใช้ห้องสมุดใหม่ดังนั้นฉันไม่รู้ว่าพวกเขาสามารถแก้ไขปัญหาที่คุณกำลังพูดถึงได้หรือไม่
— bytepan

ขอบคุณนี้แก้ไขปัญหาของฉันใน Ubuntu 16.04 และในที่สุดฉันก็สามารถเข้าถึงภาพถ่ายของฉัน หมายเหตุเล็ก ๆ หนึ่ง: มันจะเหมาะสมกว่าที่จะใช้คำสั่งนี้: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/libในสองขั้นตอนย่อยของ n 3. วิธีนี้ LD_LIBRARY_PATH ปัจจุบันของคุณจะได้รับการเก็บรักษาไว้ ขอบคุณอีกครั้งสำหรับการแบ่งปัน!
— Louis Gagnon

ฉันจะได้รับข้อความอย่างต่อเนื่องเมื่อฉันพยายามที่จะ:~$ ifuse /media/iPhoneพูดว่า: There was an error accessing the mount point: Input/output errorไม่มีใครมีปัญหานี้และมีวิธีแก้ไขหรือไม่?
— Zangar

2

หลังจากสร้างเวอร์ชันใหม่ของ libplist, libusbmuxd, libimobiledevice, ifuse และ usbmuxd ภายใต้ / usr / local / lib เวอร์ชันเหล่านั้นจะต้องถูกนำไปใช้เมื่อเรียกคำสั่งเพื่อเชื่อมต่อ iPhone (แทนที่จะใช้รุ่นห้องสมุดเก่าซึ่งเป็น ทำตามค่าเริ่มต้น) ดังนั้นฉันจึงทำสิ่งต่อไปนี้ใน bash-shell (ตรวจสอบให้แน่ใจว่าได้ปลดล็อค (ใส่รหัสของคุณหรือใช้ลายนิ้วมือของคุณ) iPhone ของคุณก่อนการกระทำแต่ละครั้ง:

sudo LD_LIBRARY_PATH=/usr/local/lib usbmuxd
export LD_LIBRARY_PATH=/usr/local/lib
idevicepair pair
ifuse /media/iPhone

(ความคิดเห็นมีต้นกำเนิดมาจากuser639768และถูกโพสต์เป็นคำถาม แต่ถูกลบไปแล้ว)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.