ฉันจะติดตั้ง 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.