Linux löst das Problem, dass Deepin den Google Chrome-Browser nicht als Root-Benutzer starten kann

Linux löst das Problem, dass Deepin den Google Chrome-Browser nicht als Root-Benutzer starten kann

Um das Problem zu lösen, dass Deepin den Google Chrome-Browser nicht als Root-Benutzer starten kann, befolgen Sie die unten aufgeführten Schritte.

1. Suchen Sie den Pfad von Chrome

which google-chrome

Wenn der Pfad lautet: /usr/bin/google-chrome

2. Bearbeiten Sie die Google Chrome-Datei

Öffnen Sie Google Chrome und ändern Sie den Befehl am Ende der Datei.

vim /usr/bin/google-chrome

Fügen Sie --user-data-dir --no-sandbox am Ende von exec -a "$0" "$HERE/chrome" "$@"

Drücken Sie Esc, :wq, beenden und speichern, und jetzt können Sie den Chrome-Browser öffnen!

ps: Sehen wir uns an, wie man Apache|Nginx mit einem Nicht-Root-Benutzer startet

Wie wir alle wissen, ist Port 80 von Apache ein systemreservierter Port. Wenn er von anderen Nicht-Root-Benutzern gestartet wird, wird der folgende Fehler gemeldet:

(13)Berechtigung verweigert: make_sock: konnte keine Verbindung zur Adresse [::]:80 herstellen
(13)Berechtigung verweigert: make_sock: konnte keine Verbindung zur Adresse 0.0.0.0:80 herstellen
Keine Listening-Sockets verfügbar, wird heruntergefahren
Protokolle können nicht geöffnet werden

Da normale Benutzer nur Ports über 1024 verwenden können, können Ports unter 1024 nur vom Root-Benutzer verwendet werden.

Um jedoch nicht bei jedem Rechnerstart den Umweg über den Root-Benutzer zu machen, kann dieses Problem durch das Setzen der UID gelöst werden.

Sie können es abschließen, indem Sie die folgenden Vorgänge gleichzeitig ausführen.

Führen Sie in der Root-Benutzerumgebung die folgenden Schritte aus
cd ……/apache/bin
chown root httpd
chmod u+s httpd
su nochmal - BENUTZERNAME
Gehen Sie zum normalen Benutzer und verwenden Sie …/apache/bin/apachectl start

Warum nicht chmod u+s apachectl?
Da die Methode zum Festlegen der UID nur für Binärdateien gültig ist und das Tailing von apachectl Folgendes gefunden hat:
apachectl ist eine Skriptdatei. Nach sorgfältiger Überprüfung fand ich den folgenden Satz

HTTPD='/home/……/apache/bin/httpd'

Fazit: Das Skript apachectl startet den gesamten httpd-Dienst, indem es die httpd-Datei startet.
Führen Sie cat httpd erneut aus. Daraufhin werden verschiedene unleserliche, verstümmelte Zeichen angezeigt. Drücken Sie Strg+C, um die Ausgabe zu beenden. Sie können dann erkennen, dass es sich bei httpd um eine Binärdatei handelt.
Zum Schluss führen Sie chmod u+s httpd aus. Natürlich müssen Sie sicherstellen, dass der Besitzer von httpd der Root-Benutzer ist. Wenn nicht, führen Sie Folgendes aus:
Führen Sie einfach den Chown-Root-Befehl für httpd aus.

Dasselbe gilt auch für den Start von nginx. Geben Sie als Root-Benutzer Folgendes ein:...nginx/sbin

Dann chown root nginx

chmod u+s nginx

Anschließend können Sie es als normaler Benutzer starten.

Das gleiche gilt für Tomcat.

Natürlich ist es auch möglich, den Standardport auf einen Wert größer als 1024 zu ändern.

Zusammenfassen

Oben habe ich Ihnen über Linux erklärt, wie Sie das Problem lösen können, dass Deepin den Google Chrome-Browser nicht als Root-Benutzer starten kann. Ich hoffe, es hilft Ihnen weiter. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten!

Das könnte Sie auch interessieren:
  • So aktualisieren Sie den Kernel in Deepin Linux manuell
  • So installieren Sie eine MySQL-Datenbank im Deepin 2014-System
  • So installieren Sie MongoDB im Deepin 15.3 X64-System
  • So erstellen Sie ein Schnellstartsymbol für Ubuntu/Deepin
  • Deepin Windows XP Lite V5.8 perfekt optimierte offizielle Version Download-Adresse
  • Deepin XP vereinfachte Version (220 MB) herunterladen
  • Aktivierungsfreie Installationsversion für Windows SP2 – DeepinXP PLUS V2 Beta-Download
  • Installieren Sie QGIS 3.4 auf Deepin 15.11

<<:  So implementieren Sie eine MySQL-Datenbanksicherung in Golang

>>:  So ermitteln Sie, ob das Linux-System auf VMware installiert ist

Artikel    

Artikel empfehlen

Optimierte Implementierung von count() für große MySQL-Tabellen

Das Folgende ist mein Urteil basierend auf der Da...

Beispiele für die Verwendung des Linux-Touch-Befehls

Detaillierte Erklärung des Linux-Touch-Befehls: 1...

Was ist ZFS? Gründe für die Verwendung von ZFS und seine Funktionen

Geschichte von ZFS Das Z-Dateisystem (ZFS) wurde ...

So stellen Sie verschiedene Mausformen dar

<a href = "http: //" style = "c...

Anleitung zur Vermeidung von Docker Win Ping-Fehlern bei Containern

Über Win Docker-Desktop möchte ich mich mit der C...

So verwenden Sie Axios, um Netzwerkanforderungen in React Native zu stellen

In der Front-End-Entwicklung gibt es viele Möglic...

Vor- und Nachteile von Vite und Vue CLI

Es gibt im Vue-Ökosystem ein neues Build-Tool nam...

Semantik, Schreiben und bewährte Methoden für Link A

Die Semantik, der Schreibstil und die Best Practi...

Problem mit Zeitzonenfehler im Docker-Container

Inhaltsverzeichnis Hintergrund Frage Problemanaly...

Tutorial zur binären Kompilierung und Installation von MySql centos7 unter Linux

// Ich habe einen ganzen Nachmittag für die Insta...

Beispiel für die Implementierung eines Skeleton-Bildschirms mit Vue

Inhaltsverzeichnis Verwendung des Skelettbildschi...

jQuery-Plugin zur Implementierung eines gestapelten Menüs

Jeden Tag ein jQuery-Plugin - gestapeltes Menü. Z...