Emacs trên máy tính bảng?


28

Hỏi: Emacs có thể được cài đặt / sử dụng trên máy tính bảng với số lượng nước mắt tối thiểu không?

Tôi đã theo giả định rằng Emacs chạy trên tất cả mọi thứ. Tuy nhiên, sau khi chọc ngoáy, có vẻ như chạy Emacs trên máy tính bảng có thể là một vấn đề đau đầu . Nhưng tôi biết gì? Do đó, câu hỏi.

Tôi không có máy tính bảng nên thuật ngữ của tôi có thể sẽ mất liên lạc với cấp độ bà. Hiểu biết hạn chế của tôi là Apple sẽ không cho Emacs vào Appstore, nhưng có thể có phiên bản bẻ khóa tồn tại trong ether. Đã có lúc người ta có thể lấy nó trong cửa hàng Google Play cho Android, nhưng nó đã cũ, bị hỏng và đòi hỏi một số câu đố không tầm thường . Tôi thấy khó tin rằng lựa chọn khả thi duy nhất là sử dụng Emacs trên máy tính bảng Windows , có lẽ vì điều trớ trêu là quá tuyệt vời.

Tôi chủ yếu quan tâm đến việc liệu chúng ta có thể làm điều này trên máy tính bảng Apple hay Android, không phải vì tình yêu cuồng nhiệt đối với một trong hai nền tảng, mà đơn giản là vì chúng rất phổ biến và dường như không được hỗ trợ. Vì thế:

  • chúng ta có thể có được một Emacs chức năng đầy đủ (hoặc thậm chí là chủ yếu) đang chạy, tốt nhất là không phải là thỏa thuận một lần, mà là cập nhật với các bản phát hành mới?
  • cài đặt nó với tối thiểu nước mắt, nghĩa là không cần bẻ khóa thiết bị hoặc dành một lượng thời gian không đáng có cho việc cài đặt Rube Goldberg-esque ?

1
BTW, "có mặt khắp nơi" phụ thuộc rất nhiều vào nơi bạn sống. Ở Ba Lan, rất nhiều người sở hữu các thiết bị Android (điện thoại và máy tính bảng) và khá ít người sở hữu iOS.
mbork

2
"Tôi thấy khó tin rằng lựa chọn khả thi duy nhất là sử dụng Emacs trên máy tính bảng Windows, có lẽ vì điều trớ trêu là quá tuyệt vời." Đối với tôi, sự trớ trêu chỉ làm cho nó đáng tin hơn. :-)
Malabarba

Tất nhiên, nếu bạn có quyền truy cập từ xa vào máy, bạn có thể sử dụng máy khách SSH để chạy Emacs từ xa. Nếu bạn chạy tmux trên máy từ xa, bạn cũng miễn nhiễm với việc bỏ học tạm thời.
Lindydancer

Tôi biết bạn đang yêu cầu cụ thể về máy tính bảng Android và iPad, nhưng có những hệ điều hành khác cho máy tính bảng: Emacs 25,2 chạy hoàn toàn tốt đẹp trên máy tính bảng Windows 10 của tôi. (Tôi chắc chắn cũng khuyên bạn nên có một bàn phím răng xanh: sử dụng một trên màn hình cho Emacs là siêu bực bội.)
Omar

Câu trả lời:


14

Tôi sử dụng Linux Deploy để chạy Debian trong chrootmôi trường trên máy tính bảng Nexus 7 của mình. Với điều đó, tôi có thể làm bất cứ điều gì tôi muốn, kể cả chạy Emacs. Nó có đầy đủ chức năng, hoàn chỉnh với tất cả các bản cập nhật và gói mới nhất.

Nếu bạn chọn sử dụng thiết bị Android và không sử dụng bàn phím bluetooth, tôi khuyên bạn nên tìm hiểu Bàn phím của Hacker .

Nếu bạn hoàn toàn không muốn root thiết bị của mình (điều này không quan trọng đối với hầu hết các thiết bị), bạn có thể thử GNURoot , mặc dù tôi đã không tự mình kiểm tra điều đó.

Tôi đoán để làm cho quá trình của tôi rõ ràng hơn một chút, đây là:

  1. Cài đặt Linux Deployment trên máy tính bảng
  2. Sử dụng Linux Deployment để cài đặt môi trường Debian, hoặc Arch hoặc Ubuntu
  3. Bắt đầu môi trường trong Linux Deployment
  4. SSH vào môi trường bằng ứng dụng SSH bạn chọn (của tôi là JuiceSSH )
  5. Bây giờ bạn đang sử dụng một thiết bị Linux. Sử dụng bất kỳ trình quản lý gói nào bạn chọn để cài đặt bất kỳ gói nào bạn chọn.

9

Một lưu ý về iOS.

Apple chắc chắn sẽ không bao giờ để Emacs trên App Store, vì nó chạy ngược lại mọi thứ mà Apple đại diện. Dưới đây là một số lý do:

  1. Apple không cho phép người dùng chạy mã đã tải xuống (xem phần này ).

Điều này sẽ giết tất cả việc sử dụng package.elsẽ khá tệ, IMHO. Cho rằng Emacs về cơ bản là một VM không thể thiếu, cơ hội bạn chạy mã được tải xuống thực tế là 100%.

  1. Apple không cho phép các ứng dụng sửa đổi các tệp tùy ý.

Bạn sẽ cần tạo một khu vườn nhỏ có tường bao quanh để Emacs chơi, bởi vì nó không thể đi ra khỏi hộp cát của nó.

  1. Apple thiếu một môi trường để Emacs hoạt động.

Bằng cách này, ý tôi là coreutils, trình biên dịch, thông dịch viên, v.v. Emacs chỉ thực sự tốt khi nó có quyền truy cập vào các chương trình hiểu ngôn ngữ mà nó hỗ trợ. Nói lời tạm biệt với trình kiểm tra cú pháp, linters, trình kiểm tra chính tả, công cụ hoàn thành thông minh và bất kỳ thứ gì tồn tại bên ngoài Emacs. Về lý thuyết bạn cũng có thể chuyển những thứ này, nhưng điều đó thực sự không khả thi nếu không có root, vì rất nhiều lý do.

Sự thật là Emacs quá mạnh để Apple có thể tha thứ. Làm như vậy sẽ đi ngược lại triết lý của họ.

Tất cả điều này thay đổi với root. Jailbroken, chúng ta không còn phải lắng nghe những gì Apple nói, và thật không ngạc nhiên khi một Cydia Emacs tồn tại (mặc dù tôi có thể nói thêm một chút về nó).


Trên Android, điểm 3. vẫn đứng, nhưng không tốt lắm vì root rất dễ lấy. Cách tốt nhất là chỉ cần cài đặt Linux trong một chroot (cực dễ, và chi tiết trong câu trả lời khác) và tiếp tục theo cách vui vẻ của bạn. Điều đó nói rằng không có lý do kỹ thuật tại sao một nhà phát triển thông minh không thể xây dựng lại Emacs cho Android và đưa nó lên cửa hàng ứng dụng, chỉ là không ai có.

Tôi cho rằng điều này chỉ đơn giản là vì ít người mong muốn sử dụng một chương trình điều khiển hoàn toàn bằng bàn phím, sử dụng rất nhiều phím bổ trợ trên máy tính bảng có nhập văn bản chất lượng cao.


Sai đường vòng - Các tác giả của Emacs là những người sẽ không cho phép điều đó vì các yêu cầu cấp phép của Apple không đáp ứng GPL - bây giờ những gì emacs làm có nghĩa là Apple sẽ không cho phép điều đó.
dùng151019

6

Gói Termux từ cửa hàng chơi bao gồm các gói apt, bao gồm cả một emacs gần đây. Đây là chế độ nhân vật, không phải GUI, nhưng nó khá chức năng.


4

Hướng dẫn súc tích để truy cập bằng root cũng được tìm thấy ở đây http://www.reddit.com/r/emacs/comments/2adkvc/how_to_get_emacs_to_run_on_android_p đauly / . Lưu ý liên kết http://emacs.zielm.com/data/ dường như bị hỏng. Tuy nhiên, tôi đã cố gắng tìm cách để làm điều này mà không cần root, và đây là một số kết quả.

Tôi đã thử làm theo tùy chọn GNURoot được cung cấp ở một vài nơi (ngoài câu trả lời hiện tại, http://www.linuxuser.co.uk/features/run-linux-on-android-part-1 , http: // www.emacswiki.org/emacs/EmacsOnAndroid ) và vì nó đã được tìm kiếm ở mức độ vừa phải cho một người có ít kinh nghiệm về Linux, điều này có thể hữu ích cho những người khác.

GNURoot cho phép bạn tạo bản dựng Linux bên trong Android của mình. 'Wheezy' mà nó cung cấp theo mặc định là 'debian'. Bạn có thể chọn một bản dựng khác nếu bạn muốn tạo nó. Khi bạn đã tạo nó, hãy chạy nó với tùy chọn fakeroot được đánh dấu, sau đó bạn sẽ thấy bảng điều khiển của siêu người dùng của bạn.

Hướng dẫn cài đặt Emacs trên các bản dựng khác nhau tồn tại ở đây: http://wikemacs.org/wiki/Installing_Emacs_on_GNU/Linux

Emacs 23

Chạy Emacs 23 hóa ra khá dễ dàng. Bạn chỉ cần gõ vào apt-get install emacsbảng điều khiển, trả lời có trên séc và bạn có thể chạy emacs bằng cách nhập emacs.

Emacs 24

Tôi không thể chạy Emacs 24, nhưng có lẽ ai đó có thể nhận ra điều này và tìm cách nhanh hơn. Nếu bất cứ ai có thể làm cho nó hoạt động, có lẽ bạn có thể theo dõi, hoặc cập nhật bài viết này.

Emacs 24 có vẻ phức tạp hơn nhiều, vì nó không được duy trì tốt trên một số bản dựng (có lẽ ai đó hiểu tình hình tốt hơn). Điều này có sẵn trong 'emacs-snapshot' có thể được tìm thấy thông qua chuỗi các liên kết http://emacs.naquadah.org/ -> https://launchpad.net/~cassou/+archive/ub Ubuntu / emacs -> https : //launchpad.net/~ubfox-elisp/+archive/ubfox/ppa , đây sẽ là phiên bản hoạt động.

Kết hợp các kết quả từ thứ hai của chuỗi liên kết, bạn sẽ cần phải nhập như sau. Bạn không phải gõ sudo nếu bạn đánh dấu vào hộp gốc giả khi khởi động.

Lưu ý: Bạn sẽ không phải thanh lọc nếu bạn chưa cài đặt bất kỳ phiên bản emacs nào.

Lưu ý2: Để có được chức năng add-apt-repository, bạn sẽ phải cài đặt tiện ích mở rộng trước đó, như đã nói ở đây https://askubfox.com/questions/38021/how-to-add-a-ppa-on-a-server .

For my version this command worked to add 'add-apt-repository'.
$ sudo apt-get install python-software-properties

$ sudo apt-get update
$ sudo apt-get install
$ sudo apt-get purge emacs emacs-snapshot-common emacs-snapshot-bin-common emacs-snapshot emacs-snapshot-el emacs-snapshot-gtk emacs23 emacs23-bin-common emacs23-common emacs23-el emacs23-nox emacs23-lucid auctex apel emacs24 emacs24-bin-common emacs24-common emacs24-common-non-dfsg emacs24-el

To add this PPA:
$ sudo add-apt-repository ppa:cassou/emacs
Or the one he refers to:
$ sudo add-apt-repository ppa:ubuntu-elisp/ppa 
$ sudo apt-get update

Then, you should be able to type for emacs-snapshot:
$ sudo apt-get install emacs-snapshot-el emacs-snapshot-gtk emacs-snapshot

*Or*, for emacs24:
$ sudo apt-get install emacs24 emacs24-el emacs24-common-non-dfsg

Thật không may, hiện tại không có ppa nào được cung cấp trong các liên kết này dường như đang hoạt động hoặc tôi đã bỏ lỡ một bước trong việc thêm chúng. GNURoot dường như không phải là một lựa chọn dễ sử dụng. Có lẽ ai đó có thể hoàn thành trình tự. Tôi đoán những loại hướng dẫn này cuối cùng sẽ được đưa vào wiki cộng đồng.

Thông tin thêm có thể có khả năng được tìm thấy ở đây: http://www.emacswiki.org/emacs/EmacsSnapshotAndDebian .

Một tùy chọn hữu ích khác có thể là tùy chọn wheezyx ngay lập tức thay vì bắt đầu khò khè , vì nó có thể cung cấp một loại hỗ trợ chuột thông qua giao diện cảm ứng.


0

Tôi đang chạy Emacs trên Android 4.2.2. Bắt đầu từ bên trong Terminal IDE, mọi thứ đều tải tốt. Tôi đã không căng thẳng kiểm tra nó tuy nhiên.


1
Làm thế nào mà bạn cài đặt nó?
Gilles 'SO- ngừng trở nên xấu xa'

Tôi tình cờ không nhớ, đó là ngay sau khi tôi nhận được máy tính bảng (gần một năm trước) trong cơn sốt dùng thử ứng dụng. Tôi sẽ xem xét và cố gắng đưa ra một câu trả lời hợp lý chính xác một chút sau đó.

Ok, ở đây là, cài đặt nó sau này: quoderat.megginson.com/2014/02/17/...

1
Không phải là một giải pháp thực tế, nhiều hơn một điều khẩn cấp / dự phòng. Vô dụng với màn hình cảm ứng (gần như) và bàn phím Bluetooth bên ngoài của tôi hoạt động thất thường, đã chán ngấy với các lỗi và sự không nhất quán liên quan đến nó.

0

Mặc dù tôi đã có Emacs để làm việc với một số tùy chọn ở đây, tôi không hài lòng vì việc triển khai đã bị ảnh hưởng một phần, chỉ đủ để gây phiền nhiễu.

Tôi đã cài đặt ứng dụng zshaolin từ Google Play. Nó không miễn phí (một vài đô la) nhưng nó có một Emacs dường như hoàn toàn có thể sử dụng được, với các phím hoạt động chính xác và tất cả các lệnh tôi đã thử cho đến nay. Đó là một Emacs cũ, 24.1 và zshaolin chỉ đóng gói lại rất nhiều thứ như Terminal IDE và những thứ khác, nhưng ít nhất nó hoạt động đúng. Ngoài ra còn có rất nhiều thứ khác như vi và Perl, v.v.


0

Nếu tôi thực sự cần truy cập Emacs trên iPad, tôi sẽ thực hiện thông qua SSH bằng Serverauditor . Nó đơn sắc và giao diện bàn phím tẻ nhạt. Một ứng dụng khách Emacs được thiết kế đặc biệt cho iPad có thể có thể giải quyết các vấn đề này. (EDIT: Điều này giả định rằng bạn có quyền truy cập vào một máy chủ có Emacs, tất nhiên.)

EDIT: Gần đây tôi cũng đã phát hiện ra Cloud9 , cho phép tôi truy cập emacs thông qua Safari. Keybindings vẫn là vấn đề lớn nhất này, ngay cả trên Windows và thực tế là bàn phím iOS nói chung không có Ctrlhoặc Altlàm cho nó tồi tệ hơn nhiều.


0

Tôi đang chạy GNU Emacs trên iPad trong iSH - một ứng dụng dành cho nhà phát triển tương đối mới, về cơ bản là một thùng chứa Linux Linux. iSH cho phép bạn cài đặt Emacs bằng trình quản lý gói apk. Đây là cách cài đặt nó:

1. Install [TestFlight] from the App Store.
2. Open a web browser on the iOS device and click here [https://testflight.apple.com/join/97i7KM8O] to review/accept the terms and start testing iSH using TestFlight.
3. Click "Install" to install the iSH Shell application onto the iOS device.
4. You will now have the iSH app on your iOS device. Open this app to run the Alpine Linux shell. 
5. Install Emacs with apk by entering the command "apk add emacs". After Emacs installs, enter the command "emacs" on the command line to run it. 

Thay thế cho TestFlight, iSH có thể được tải trực tiếp lên iPad bằng ứng dụng Xcode trên máy Mac.

Nó không chạy nhanh như thứ gì đó sẽ chạy tự nhiên trên iPad nhưng nó đủ nhanh cho nhiều mục đích.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.