Cách chạy google chrome với quyền root trong linux


10

Khi tôi muốn chạy google chrome với quyền root, một thông báo lỗi với tiêu đề này xuất hiện:

Google chrome không thể chạy bằng root

và nội dung của tin nhắn là:

để chạy với quyền root, bạn phải chỉ định một --user-data-dir thay thế để lưu trữ thông tin hồ sơ.

Ai giúp tôi với?


1
Mặc dù nó không phải là một công việc tốt để chạy ứng dụng này với quyền root, tôi sẽ giải thích phương pháp này.
M0εiπ

Câu trả lời:


7

Để chạy google chrome với quyền root, hãy làm theo các bước sau:

  1. Mở google-chrometrong trình chỉnh sửa yêu thích của bạn (thay thế $EDITORbằng trình yêu thích của bạn):

    $EDITOR $(which google-chrome)
    
  2. Thêm --user-data-dirvào cuối tập tin.

    tập tin của tôi trông như thế này:

    exec -a "$0" "$HERE/chrome"  "$PROFILE_DIRECTORY_FLAG" \   "$@"
    --user-data-dir
    
  3. Lưu và đóng trình chỉnh sửa.

bạn đã hoàn tất. Hãy tận hưởng nó :)


nếu bạn muốn xem video hướng dẫn, bạn có thể kiểm tra bài đăng trên blog của tôi:

Cách chạy google chrome với quyền root trong Linux - MoeinFatehi


3
Nói rõ hơn, câu trả lời đúng ở đây là Bạn không. Chạy các ứng dụng đồ họa như root thực sự không phải là một ý tưởng tuyệt vời.
HalosGhost

1
Tôi đã nghe nói rằng bạn không nên chạy các ứng dụng đồ họa với quyền root và tôi quyết định tôi sẽ làm điều đó chỉ để tìm hiểu tại sao không. Tôi dự định làm điều đó cho đến khi tôi phát hiện ra. Bây giờ là 14 năm trước.
Thorsten Staerk

2
Bạn nên đọc lên hiệu trưởng của đặc quyền tối thiểu.
HalosGhost

2
Tôi cuối cùng đã phải sử dụng --no-sandboxlà tốt. yolo
Bryce Guinta

4

Bây giờ bạn không thể chạy google-chrome với tư cách người dùng root trên các phiên bản cập nhật, Để chạy Google Chrome với tư cách là người dùng chuẩn (trong khi Đăng nhập với tư cách là Root)

mở thiết bị đầu cuối và loại:

adduser -u chromeuser HOẶC LÀ useradd -m chromeuser

Để chạy google chrome sử dụng lệnh:

gksu -u chromeuser google-chrome HOẶC LÀ sux chromeuser google-chrome

Nếu bạn không muốn chạy nó từ Terminal, sau đó thêm chrome vào thanh tác vụ và sau đó nhấp chuột phải vào nó, chọn thuộc tính và thêm lệnh trên vào tham số lệnh.


cũng sử dụng tài khoản người dùng hiện có làm việc cho tôi : gksu -u gv google-chrome-stable. Mặc dù tôi đã nhận được một số erros trong thiết bị đầu cuối, nhưng nó đã làm việc.
George Vasiliou

3

Đối với những người có thể vẫn đang ở trong tháng 12 năm 2016 - Google Chrome Phiên bản 54.0.2840.90 64 bit theo XFCE và Debian 8.5:

Trường hợp 1: Chrome hoàn toàn không bắt đầu
Trong thiết lập của tôi chỉ bằng cách chạy trong thiết bị đầu cuối, google-chrome-stabletôi đã ngay lập tức gặp lỗi trong thiết bị đầu cuối illegal instruction. Không có khung, không có màn hình trống, không có cửa sổ màu đen. Chỉ là một lỗi giao diện điều khiển thô lỗ. Lỗi này biến mất bằng cách sử dụng --no-sandboxtùy chọn dòng lệnh.

Trường hợp 2: Chrome vẫn từ chối mở ngay cả với tùy chọn --no-sandbox
Đó không phải là trường hợp của tôi vì --no-sandbox là đủ, nhưng nếu bạn gặp phải hành vi như vậy, bạn có thể thử tắt mọi thứ khi gọi chrome, như:

google-chrome-stable --disable-gpu --disable-extensions --disable-d3d11 --disable-local-storage --disable-notifications --disable-offne-pages --disable-plugin-power-saver --disable-plugins-discovery --disable-sync --disable-translate --disable-webgl --no-experiments --no-sandbox

Sau đó, bạn có thể từng bước kích hoạt các tùy chọn cho đến khi xác định cái nào phá vỡ.
PS: Tất cả các cờ / đối số CLI có thể được tìm thấy ở đây .

Trường hợp 3: Tin nhắn Please start Google Chrome as a normal user.To run as root you must specify an alternate --user-data-dir for storage of profile informationxuất hiện.

Giải pháp hiệu quả với tôi: Đi đến /opt/google/chromevà mở tệp google-chromethực sự là một tập lệnh bash.

Ở cuối đoạn script tìm phần

if [[ -n "$CHROME_USER_DATA_DIR" ]]; then
  # Note: exec -a below is a bashism.
  exec -a "$0" "$HERE/chrome"  \
    --user-data-dir="$CHROME_USER_DATA_DIR" "$@"
else
  exec -a "$0" "$HERE/chrome"  "$@"
fi

Và thay đổi phần khác như thế này:

else
  #exec -a "$0" "$HERE/chrome"  "$@"
  exec -a "$0" "$HERE/chrome" "$@" --user-data-dir="$HOME"
fi

Lưu và chạy google-chrome-stable --no-sandbox.
Tôi đứng dậy và lướt web.

Đối với một giải pháp phức tạp hơn, cá nhân tôi đã áp dụng một loại kiểm tra người dùng để tránh sự xáo trộn có thể xảy ra khi chạy chrome như người dùng bình thường:

else
    if [ "$USER" = "root" ]  || [ "$LOGNAME" = "root" ];then 
        exec -a "$0" "$HERE/chrome" "$@" --user-data-dir="$HOME"
    else
        exec -a "$0" "$HERE/chrome"  "$@"
    fi

Một cách giải quyết khác:
Bạn không thể sửa đổi tệp google-chrome như được chỉ ra ở trên và bạn có thể theo dõi giới thiệu của @tzafar để tạo người dùng mới hoặc khởi chạy chrome bằng tài khoản người dùng thông thường hiện có: gksu -u user google-chrome-stable(điều này đã hoạt động nhưng một số thông báo lỗi nhận được trong thiết bị đầu cuối).


1
hoạt động hoàn hảo
Ewall Tester

2

chạy lệnh mở rộng và mở google-chrome, nó sẽ hoạt động

sed -i -e 's@Exec=/usr/bin/google-chrome-stable %U@Exec=/usr/bin/google-chrome-stable %U --no-sandbox@g' /usr/share/applications/google-chrome.desktop 

0

Để chạy google chrome với quyền root, hãy thêm tham số này "--no-sandbox"

nhập mô tả hình ảnh ở đây

nó sẽ làm việc cho tôi


Hậu quả thực tế của việc này là gì?
Kusalananda

Có giống như hậu quả của việc sử dụng tài khoản root
SAID

-1

Tôi đã thử tất cả các giải pháp được cung cấp ở đó vì vậy theo ý kiến ​​của tôi thì đây là giải pháp tốt nhất.

sudo chmod -R 777 /home/user_name/.config/google-chrom

Chỉ cần chạy lệnh bạn không cần phải làm gì cả.


Xin chào Abhinav. Bạn có thể giải thích làm thế nào điều này trả lời câu hỏi chạy Chrome với quyền root.
roaima

-2

Đây là một cú sút xa nhưng hãy thử nó

sudo chmod -R 777 /home/user_name/.config/google-chrom

không cần cấu hình hộp cát nữa


Làm thế nào để làm cho tất cả các cấu hình Chrome có thể đọc được bởi mọi người?
Kusalananda

vấn đề sẽ khác nhau mỗi lần nếu 'google-chrome --no-sandbox' không hoạt động, thường thì sudo là bắt buộc vì nó không có đủ quyền của thư mục /home/usr_name/.config/google-chrom hoặc một số thứ khác thư mục.
Piyush Pattaiya

Lưu ý rằng root không bị hạn chế bởi quyền truy cập tệp hoặc quyền sở hữu tệp.
Kusalananda
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.