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 empfehlen

CSS3 + Bézierkurve zum Erzielen eines skalierbaren Eingabesuchfeldeffekts

Und hier nun ohne weitere Umschweife die Renderin...

Analyse und Lösung des beim Start von MySQL gemeldeten Fehlers „ERROR:2002“

Vorwort Dieser Artikel stellt hauptsächlich die A...

Eine kurze Analyse der startReactApplication-Methode von React Native

In diesem Artikel haben wir den Startvorgang von ...

Vue implementiert die Countdown-Komponente für zweite Kills

In diesem Artikel wird der spezifische Code von V...

Natives JavaScript zur Implementierung einer zufälligen Namensaufruftabelle

In diesem Artikelbeispiel wird der spezifische Co...

Was wir von Googles neuer Benutzeroberfläche (Bilder und Text) lernen können

Die bedeutendste Website-Änderung im Jahr 2011 bet...

Detaillierte Erläuterung des Quellcodes der vue.$set()-Methode von Vue

Bei der Verwendung von Vue zum Entwickeln von Pro...

Implementierung des Whack-a-Mole-Spiels in JavaScript

In diesem Artikel finden Sie den spezifischen Cod...

JavaScript-Entwurfsmuster, Lernadaptermuster

Inhaltsverzeichnis Überblick Code-Implementierung...

CentOS 8 offiziell veröffentlicht, basierend auf Red Hat Enterprise Linux 8

Das CentOS-Projekt, ein 100 % kompatibler Neuaufb...

Einige Parameterbeschreibungen von Texteingabefeldern im Webdesign

<br />In Gästebüchern, Foren und anderen Ort...