나는 Raspberry Pi 3b의 Raspbian Jessie에서 이 작업을 성공적으로 수행했습니다.
% http://askubuntu.com/a/227513/25388
masi@raspberrypi:~ $ sudo locale-gen en_US en_US.UTF-8
masi@raspberrypi:~ $ sudo dpkg-reconfigure locales
나는 달리지 sudo deluser pi
만 얻는다
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = "en_US.UTF-8",
LC_PAPER = "fi_FI.UTF-8",
LC_ADDRESS = "fi_FI.UTF-8",
LC_MONETARY = "fi_FI.UTF-8",
LC_NUMERIC = "fi_FI.UTF-8",
LC_TELEPHONE = "fi_FI.UTF-8",
LC_IDENTIFICATION = "fi_FI.UTF-8",
LC_MEASUREMENT = "fi_FI.UTF-8",
LC_TIME = "fi_FI.UTF-8",
LC_NAME = "fi_FI.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Removing user `pi' ...
Warning: group `pi' has no more members.
userdel: user pi is currently used by process 929
/usr/sbin/deluser: `/usr/sbin/userdel pi' returned error code 8. Exiting.
다중 로케일 문제가 실패하면 수정도 시도했습니다.
for y in $(locale | cut -d '=' -f 2| sort |uniq );do sudo locale-gen $y; done
그래요
masi@raspberrypi:~ $ ps -fp 929
UID PID PPID C STIME TTY TIME CMD
pi 929 1 0 08:54 ? 00:00:00 /usr/lib/menu-cache/menu-cached /tmp/.
그래요
masi@raspberrypi:~ $ sudo kill 929
masi@raspberrypi:~ $ sudo deluser pi
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = "en_US.UTF-8",
LC_PAPER = "fi_FI.UTF-8",
LC_ADDRESS = "fi_FI.UTF-8",
LC_MONETARY = "fi_FI.UTF-8",
LC_NUMERIC = "fi_FI.UTF-8",
LC_TELEPHONE = "fi_FI.UTF-8",
LC_IDENTIFICATION = "fi_FI.UTF-8",
LC_MEASUREMENT = "fi_FI.UTF-8",
LC_TIME = "fi_FI.UTF-8",
LC_NAME = "fi_FI.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Removing user `pi' ...
Warning: group `pi' has no more members.
userdel: user pi is currently used by process 1174
/usr/sbin/deluser: `/usr/sbin/userdel pi' returned error code 8. Exiting.
masi@raspberrypi:~ $ sudo deluser -remove-home pi
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = "en_US.UTF-8",
LC_PAPER = "fi_FI.UTF-8",
LC_ADDRESS = "fi_FI.UTF-8",
LC_MONETARY = "fi_FI.UTF-8",
LC_NUMERIC = "fi_FI.UTF-8",
LC_TELEPHONE = "fi_FI.UTF-8",
LC_IDENTIFICATION = "fi_FI.UTF-8",
LC_MEASUREMENT = "fi_FI.UTF-8",
LC_TIME = "fi_FI.UTF-8",
LC_NAME = "fi_FI.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Looking for files to backup/remove ...
Removing user `pi' ...
Warning: group `pi' has no more members.
userdel: user pi is currently used by process 1174
/usr/sbin/deluser: `/usr/sbin/userdel pi' returned error code 8. Exiting.
masi@raspberrypi:~ $
이제 프로세스 ID를 종료 1174
하고 똑같은 출력을 얻었지만 이제는 새로운 프로세스 ID가 제공됩니다 1202
. 나는 그렇지만 sudo killall -u pi -m .
나는 얻는다
Usage: killall [OPTION]... [--] NAME...
그래요
masi@raspberrypi:~ $ sudo pkill -u pi
masi@raspberrypi:~ $ sudo deluser pi
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = "en_US.UTF-8",
...
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Removing user `pi' ...
Warning: group `pi' has no more members.
userdel: user pi is currently used by process 3422
/usr/sbin/deluser: `/usr/sbin/userdel pi' returned error code 8. Exiting.
그래요
masi@raspberrypi:~ $ ps -u pi
PID TTY TIME CMD
3422 tty1 00:00:00 bash
masi@raspberrypi:~ $ sudo kill 3422
masi@raspberrypi:~ $ sudo deluser pi
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = "en_US.UTF-8",
LC_PAPER = "fi_FI.UTF-8",
LC_ADDRESS = "fi_FI.UTF-8",
LC_MONETARY = "fi_FI.UTF-8",
LC_NUMERIC = "fi_FI.UTF-8",
LC_TELEPHONE = "fi_FI.UTF-8",
LC_IDENTIFICATION = "fi_FI.UTF-8",
LC_MEASUREMENT = "fi_FI.UTF-8",
LC_TIME = "fi_FI.UTF-8",
LC_NAME = "fi_FI.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Removing user `pi' ...
Warning: group `pi' has no more members.
userdel: user pi is currently used by process 3496
/usr/sbin/deluser: `/usr/sbin/userdel pi' returned error code 8. Exiting.
그래요
masi@raspberrypi:~ $ who
pi tty1 Jun 4 09:38
masi pts/0 Jun 4 09:06 (masi)
그래요
masi@raspberrypi:~ $ sudo skill -KILL -u pi
masi@raspberrypi:~ $ sudo deluser pi
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = "en_US.UTF-8",
LC_PAPER = "fi_FI.UTF-8",
LC_ADDRESS = "fi_FI.UTF-8",
LC_MONETARY = "fi_FI.UTF-8",
LC_NUMERIC = "fi_FI.UTF-8",
LC_TELEPHONE = "fi_FI.UTF-8",
LC_IDENTIFICATION = "fi_FI.UTF-8",
LC_MEASUREMENT = "fi_FI.UTF-8",
LC_TIME = "fi_FI.UTF-8",
LC_NAME = "fi_FI.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Removing user `pi' ...
Warning: group `pi' has no more members.
userdel: user pi is currently used by process 3496
/usr/sbin/deluser: `/usr/sbin/userdel pi' returned error code 8. Exiting.
나는 Stephen의 제안에 동의하지만
masi@raspberrypi:~ $ sudo service lightdm stop
masi@raspberrypi:~ $ sudo deluser pi
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = "en_US.UTF-8",
LC_PAPER = "fi_FI.UTF-8",
LC_ADDRESS = "fi_FI.UTF-8",
LC_MONETARY = "fi_FI.UTF-8",
LC_NUMERIC = "fi_FI.UTF-8",
LC_TELEPHONE = "fi_FI.UTF-8",
LC_IDENTIFICATION = "fi_FI.UTF-8",
LC_MEASUREMENT = "fi_FI.UTF-8",
LC_TIME = "fi_FI.UTF-8",
LC_NAME = "fi_FI.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Removing user `pi' ...
Warning: group `pi' has no more members.
userdel: user pi is currently used by process 3496
/usr/sbin/deluser: `/usr/sbin/userdel pi' returned error code 8. Exiting.
내 명령의 두 번째 반복은 명령의 첫 번째 단계를 통해 로케일을 변경하려고 다시 시도했지만 다시 실패했습니다.
그래요
masi@raspberrypi:~ $ ps -ft tty1
UID PID PPID C STIME TTY TIME CMD
root 3491 1 0 09:38 tty1 00:00:00 /bin/login -f
pi 3507 3491 0 09:38 tty1 00:00:00 -bash
이렇게 했는데 sudo vim /etc/inittab
파일이 비어있습니다. 나는 아웃풋으로 아무것도 하지 않는다 masi@raspberrypi:~ $ sudo grep -r "login -f" /etc
.
그래요
masi@raspberrypi:~ $ sudo grep -r autologin /etc
/etc/lightdm/lightdm.conf:# pam-autologin-service = PAM service to use for autologin
/etc/lightdm/lightdm.conf:# autologin-guest = True to log in as guest by default
/etc/lightdm/lightdm.conf:# autologin-user = User to log in with by default (overrides autologin-guest)
/etc/lightdm/lightdm.conf:# autologin-user-timeout = Number of seconds to wait before loading default user
/etc/lightdm/lightdm.conf:# autologin-session = Session to load for automatic login (overrides user-session)
/etc/lightdm/lightdm.conf:# autologin-in-background = True if autologin session should not be immediately activated
/etc/lightdm/lightdm.conf:#pam-autologin-service=lightdm-autologin
/etc/lightdm/lightdm.conf:#autologin-guest=false
/etc/lightdm/lightdm.conf:autologin-user=pi
/etc/lightdm/lightdm.conf:#autologin-user-timeout=0
/etc/lightdm/lightdm.conf:#autologin-in-background=false
/etc/lightdm/lightdm.conf:#autologin-session=UNIMPLEMENTED
/etc/systemd/system/[email protected]:ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM
콘텐츠/etc/lightdm/lightdm.conf
# General configuration
#
# start-default-seat = True to always start one seat if none are defined in the configuration
# greeter-user = User to run greeter as
# minimum-display-number = Minimum display number to use for X servers
# minimum-vt = First VT to run displays on
# lock-memory = True to prevent memory from being paged to disk
# user-authority-in-system-dir = True if session authority should be in the system location
# guest-account-script = Script to be run to setup guest account
# logind-load-seats = True to automatically set up multi-seat configuration from logind
# logind-check-graphical = True to on start seats that are marked as graphical by logind
# log-directory = Directory to log information to
# run-directory = Directory to put running state in
# cache-directory = Directory to cache to
# sessions-directory = Directory to find sessions
# remote-sessions-directory = Directory to find remote sessions
# greeters-directory = Directory to find greeters
#
[LightDM]
#start-default-seat=true
#greeter-user=lightdm
#minimum-display-number=0
#minimum-vt=7
#lock-memory=true
#user-authority-in-system-dir=false
#guest-account-script=guest-account
#logind-load-seats=false
#logind-check-graphical=false
#log-directory=/var/log/lightdm
#run-directory=/var/run/lightdm
#cache-directory=/var/cache/lightdm
#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions
#remote-sessions-directory=/usr/share/lightdm/remote-sessions
#greeters-directory=/usr/share/lightdm/greeters:/usr/share/xgreeters
#
# Seat defaults
#
# type = Seat type (xlocal, xremote)
# xdg-seat = Seat name to set pam_systemd XDG_SEAT variable and name to pass to X server
# pam-service = PAM service to use for login
# pam-autologin-service = PAM service to use for autologin
# pam-greeter-service = PAM service to use for greeters
# xserver-command = X server command to run (can also contain arguments e.g. X -special-option)
# xserver-layout = Layout to pass to X server
# xserver-config = Config file to pass to X server
# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server
# xserver-share = True if the X server is shared for both greeter and session
# xserver-hostname = Hostname of X server (only for type=xremote)
# xserver-display-number = Display number of X server (only for type=xremote)
# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true)
# xdmcp-port = XDMCP UDP/IP port to communicate on
# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf)
# unity-compositor-command = Unity compositor command to run (can also contain arguments e.g. unity-system-compositor -special-option)
# unity-compositor-timeout = Number of seconds to wait for compositor to start
# greeter-session = Session to load for greeter
# greeter-hide-users = True to hide the user list
# greeter-allow-guest = True if the greeter should show a guest login option
# greeter-show-manual-login = True if the greeter should offer a manual login option
# greeter-show-remote-login = True if the greeter should offer a remote login option
# user-session = Session to load for users
# allow-user-switching = True if allowed to switch users
# allow-guest = True if guest login is allowed
# guest-session = Session to load for guests (overrides user-session)
# session-wrapper = Wrapper script to run session with
# greeter-wrapper = Wrapper script to run greeter with
# guest-wrapper = Wrapper script to run guest sessions with
# display-setup-script = Script to run when starting a greeter session (runs as root)
# display-stopped-script = Script to run after stopping the display server (runs as root)
# greeter-setup-script = Script to run when starting a greeter (runs as root)
# session-setup-script = Script to run when starting a user session (runs as root)
# session-cleanup-script = Script to run when quitting a user session (runs as root)
# autologin-guest = True to log in as guest by default
# autologin-user = User to log in with by default (overrides autologin-guest)
# autologin-user-timeout = Number of seconds to wait before loading default user
# autologin-session = Session to load for automatic login (overrides user-session)
# autologin-in-background = True if autologin session should not be immediately activated
# exit-on-failure = True if the daemon should exit if this seat fails
#
[SeatDefaults]
#type=xlocal
#xdg-seat=seat0
#pam-service=lightdm
#pam-autologin-service=lightdm-autologin
#pam-greeter-service=lightdm-greeter
#xserver-command=X
#xserver-layout=
#xserver-config=
#xserver-allow-tcp=false
#xserver-share=true
#xserver-hostname=
#xserver-display-number=
#xdmcp-manager=
#xdmcp-port=177
#xdmcp-key=
#unity-compositor-command=unity-system-compositor
#unity-compositor-timeout=60
#greeter-session=example-gtk-gnome
#greeter-hide-users=false
#greeter-allow-guest=true
#greeter-show-manual-login=false
#greeter-show-remote-login=true
#user-session=default
#allow-user-switching=true
#allow-guest=true
#guest-session=
#session-wrapper=lightdm-session
#greeter-wrapper=
#guest-wrapper=
#display-setup-script=
#display-stopped-script=
#greeter-setup-script=
#session-setup-script=
#session-cleanup-script=
#autologin-guest=false
autologin-user=pi
#autologin-user-timeout=0
#autologin-in-background=false
#autologin-session=UNIMPLEMENTED
#exit-on-failure=false
#
# Seat configuration
#
# Each seat must start with "Seat:".
# Uses settings from [SeatDefaults], any of these can be overriden by setting them in this section.
#
#[Seat:0]
#
# XDMCP Server configuration
#
# enabled = True if XDMCP connections should be allowed
# port = UDP/IP port to listen for connections on
# key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf)
#
# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively
# it can be a word and the first 7 characters are used as the key.
#
[XDMCPServer]
#enabled=false
#port=177
#key=
#
# VNC Server configuration
#
# enabled = True if VNC connections should be allowed
# command = Command to run Xvnc server with
# port = TCP/IP port to listen for connections on
# width = Width of display to use
# height = Height of display to use
# depth = Color depth of display to use
#
[VNCServer]
#enabled=false
#command=Xvnc
#port=5900
#width=1024
#height=768
#depth=8
그래요
masi@raspberrypi:~ $ sudo systemctl disable autologin@tty1
masi@raspberrypi:~ $ ps -fu pi
UID PID PPID C STIME TTY TIME CMD
pi 3496 1 0 09:38 ? 00:00:00 /lib/systemd/systemd --user
pi 3502 3496 0 09:38 ? 00:00:00 (sd-pam)
pi 3507 3491 0 09:38 tty1 00:00:00 -bash
masi@raspberrypi:~ $ sudo kill 3496 3502 3507
masi@raspberrypi:~ $ ps -fu pi
UID PID PPID C STIME TTY TIME CMD
pi 7062 1 1 21:46 ? 00:00:00 /lib/systemd/systemd --user
pi 7068 7062 0 21:46 ? 00:00:00 (sd-pam)
pi 7073 7056 6 21:46 tty1 00:00:00 -bash
문서/etc/systemd/system/[email protected]
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Getty on %I
Documentation=man:agetty(8) man:systemd-getty-generator(8)
Documentation=http://0pointer.de/blog/projects/serial-console.html
After=systemd-user-sessions.service plymouth-quit-wait.service
After=rc-local.service
# If additional gettys are spawned during boot then we should make
# sure that this is synchronized before getty.target, even though
# getty.target didn't actually pull it in.
Before=getty.target
IgnoreOnIsolate=yes
# On systems without virtual consoles, don't start any getty. Note
# that serial gettys are covered by [email protected], not this
# unit.
ConditionPathExists=/dev/tty0
[Service]
# the VT is cleared by TTYVTDisallocate
ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM
Type=idle
Restart=always
RestartSec=0
UtmpIdentifier=%I
TTYPath=/dev/%I
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
KillMode=process
IgnoreSIGPIPE=no
SendSIGHUP=yes
# Unset locale for the console getty since the console has problems
# displaying some internationalized messages.
Environment=LANG= LANGUAGE= LC_CTYPE= LC_NUMERIC= LC_TIME= LC_COLLATE= LC_MONETARY= LC_MESSAGES= LC_PAPER= LC_NAME= LC_ADDRESS= LC_TELEPHONE= LC_MEASUREMENT= LC_IDENTIFICATION=
[Install]
WantedBy=getty.target
DefaultInstance=tty1
그래요
masi@raspberrypi:~ $ sudo systemctl stop autologin@tty1
masi@raspberrypi:~ $ ps -fu pi
UID PID PPID C STIME TTY TIME CMD
masi@raspberrypi:~ $ sudo deluser pi
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = "en_US.UTF-8",
LC_PAPER = "fi_FI.UTF-8",
LC_ADDRESS = "fi_FI.UTF-8",
LC_MONETARY = "fi_FI.UTF-8",
LC_NUMERIC = "fi_FI.UTF-8",
LC_TELEPHONE = "fi_FI.UTF-8",
LC_IDENTIFICATION = "fi_FI.UTF-8",
LC_MEASUREMENT = "fi_FI.UTF-8",
LC_TIME = "fi_FI.UTF-8",
LC_NAME = "fi_FI.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Removing user `pi' ...
Warning: group `pi' has no more members.
Done.
질문
pi
현재 프로세스를 삭제한 후에는 항상 사용자를 위한 새 프로세스가 생성됩니다. 이런 일이 발생하는 것을 방지하는 방법은 무엇입니까?
성공적인 시도 [스티븐]
하다
masi@raspberrypi:~ $ sudo systemctl stop autologin@tty1
masi@raspberrypi:~ $ ps -fu pi
UID PID PPID C STIME TTY TIME CMD
masi@raspberrypi:~ $ sudo deluser pi
...
masi@raspberrypi:~ & sudo vim /etc/passwd
... pi no longer here!
masi@raspberrypi:~ & sudo deluser -remove-home pi
문제의 해결책은 locale
스레드에 있습니다.여기.
매체 autologin-user=pi
로 교체하세요 .autologin-user=masi
/etc/lightdm/lightdm.conf
어떻게 삭제할 수 있어?PI사용자 성공?
답변1
사용자 pi
가 로그인되어 있습니다 tty1
. 삭제하기 전에 사용자에서 로그아웃해야 합니다. (이 menu-cached
프로세스는 LXDE 데스크톱 환경에서 사용됩니다. 사용자가 실행 중인 다른 프로세스가 있을 수 있습니다 pi
.)
사용자를 로그아웃할 수 있는 GUI에 대한 액세스 권한이 없는 경우(즉, Raspberry Pi에 원격으로 액세스하고 있는 경우) 가장 안전한 옵션은 아마도 데스크탑 관리자를 중지하는 것입니다.
sudo service lightdm stop
(LXDE 기본값을 사용한다고 가정하면) 모든 pi
프로세스가 종료됩니다.
또한 자동 로그인( )을 비활성화해야 합니다 login -f
.
이전 스타일을 사용하는 경우 파일을 inittab
편집 /etc/inittab
하고 다음과 같은 줄을 바꾸세요.
1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1
(중요한 부분은 /bin/login -f pi tty1
)
1:2345:respawn:/sbin/getty 115200 tty1
그런 다음 init
다음을 실행하여 다시 로드하세요.
sudo telinit q
자동 로그인을 위해 시스템 단위(예: 서비스 autologin
)를 사용하여 서비스를 비활성화합니다.
sudo systemctl --now disable autologin@tty1
그러면 장치가 중지되고 시스템 구성이 다시 로드됩니다.
이 시점에서 pi
여전히 실행 중인 프로세스가 있으면(그림 참조 ps -fu pi
) 해당 프로세스를 종료하세요. 다시 생성되지 않아야 합니다.
답변2
sudo raspi-config
명령줄에서 실행한 다음 명령줄 옵션에 대해 부팅 옵션을 선택하여 실행 했습니다 . 재부팅 후 사용자 pi를 제거할 수 있었습니다(Raspbian을 새로 설치한 후에 이 작업을 수행했습니다).