커널패닉 (119.♡.59.225)
2025년 7월 31일 AM 02:14 · 수정됨(08. 01. 03:51)

위 사진은 여러번 시행착오를 겪고 난 후 최종 완성본(?) 입니다.
자리를 예상보다 오래 비워야 할 경우 가끔 다시 PC앞으로 오기 귀찮아서, 디스코드 봇 API를 통해 화면을 잠글 수 있도록 해 봤습니다.
하지만 swaylock이 이미 실행중인지를 모르겠더라구요.
따라서 이런저런 방법으로 실험하다 아래와 같이 작성했습니다. (일부 발췌)
[code]try:
is_sway_running = subprocess.run(["pgrep", "-x", "swaylock"], stderr=subprocess.DEVNULL)
if is_sway_running.returncode == 0:
raise RuntimeError("swaylock is already running! aborted.")
subprocess.Popen([f"{os.environ.get('HOME')}/.config/sway/src/backend", "lock_session"], start_new_session=True)
await interaction.response.send_message("🔒 화면이 잠겼습니다 (swaylock 실행됨).", ephemeral=True)
except FileNotFoundError:
await interaction.response.send_message("❌ 시스템에 sway 및 backend 가 설치되어 있지 않습니다.", ephemeral=True)
sys.exit(1)
except RuntimeError:
await interaction.response.send_message("⚠️ swaylock 실행에 실패했습니다. 이미 swaylock 이 실행 중입니다.", ephemeral=True)
except Exception as e:
await interaction.response.send_message(f"⚠️ swaylock 실행에 실패했습니다. 내부 오류가 발생했습니다.\\n{e}", ephemeral=True)
sys.exit(1)[/code]
하지만 어째선지 swaylock 이 이미 실행중일 경우에 위 봇을 실행하면 qt.qpa.wayland there are no outputs creating placeholder screen 오류와 함께 레드스크린이 뜨더군요 {emo:damoang-emo-015.gif:50}
따라서 해결 방안을 모색하던 도중 swaylock 이 이미 실행 중인 경우 이를 예외로 처리하지 말고, 단순히 if else 문으로 처리하기로 했습니다.
[code]try:
is_sway_running = subprocess.run(["pgrep", "-x", "swaylock"], stderr=subprocess.DEVNULL)
if is_sway_running.returncode == 0:
await interaction.response.send_message("⚠️ swaylock 실행에 실패했습니다. 이미 swaylock 이 실행 중입니다.", ephemeral=True)
else:
subprocess.Popen([f"{os.environ.get('HOME')}/.config/sway/src/backend", "lock_session"], start_new_session=True)
await interaction.response.send_message("🔒 화면이 잠겼습니다 (swaylock 실행됨).", ephemeral=True)
except FileNotFoundError:
await interaction.response.send_message("❌ 시스템에 sway 및 backend 가 설치되어 있지 않습니다.", ephemeral=True)
sys.exit(1)
except Exception as e:
await interaction.response.send_message(f"⚠️ swaylock 실행에 실패했습니다. 내부 오류가 발생했습니다.\\n{e}", ephemeral=True)
sys.exit(1)[/code]
그후 테스트를 해보니 정상적으로 화면이 잠기고, 만약 swaylock이 실행 중이라면 상태를 바로 알 수 있도록 기능이 향상되었네요.
레드스크린은 블루스크린과 다르게 또 다른 공포가 있네요
댓글 (21)
-
신신사아님당
25.07.31 · 125.♡.243.26
-
커커널패닉
→ 신사아님당 작성자
25.07.31 · 160.♡.37.43
[https://damoang.net/data/editor/2507/comment_2699961643_i9y4QLtG_5a3b04624fa7d7801b4fb86cb94ab12e46b3b4f5.jpeg]
레드스크린은 이런식으로 보입니다 {emo:onion-217.gif:50} -
신신사아님당
→ 커널패닉
25.07.31 · 125.♡.243.26
{emo:onion-263.gif:150}!!!!!!!!!!
ㅗㅜ..PTSD 오겠습니다. LG IPS패널 사용자면 더더더 ㄷㄷㄷㄷ -
커커널패닉
→ 신사아님당 작성자
25.07.31 · 119.♡.59.225
[https://damoang.net/data/editor/2507/comment_2009152481_43rV2MF9_897858f890e13c908fb44de89d1c5277f8f5d744.webp]
에이 설마요 {emo:damoang-emo-015.gif:50} -
신신사아님당
→ 커널패닉
25.07.31 · 125.♡.243.26
인터넷 사진 퍼온게 아니라 직찍이셨어요? {emo:onion-138.gif:50}{emo:damoang-emo-015.gif:50}{emo:damoang-emo-015.gif:50} -
커커널패닉
→ 신사아님당 작성자
25.07.31 · 119.♡.59.225
얼마든지 재현도 가능하답니다??
재현하려면 디스코드 봇에서 예외를 던지기만 하면 됩니다
=== 추가 ===
아 그러고 보니 이 패널 잔상이 좀 심하긴 했네요
https://www.clien.net/service/board/cm_mac/12817373 -
신신사아님당
→ 신사아님당
25.07.31 · 125.♡.243.26
@커널패닉 님에게 답글
카비레이크 아이맥이면 소노마까지는 지원할텐데 리눅스 깔아 쓰시는군요!? 가..갑부... {emo:onion-002.gif:50}
저는 deskmini 310 + i5-8500에 벤추라 깔아 쓰고 있는데... 이거 지원 끊기기 전까지 리눅스로 스위칭 하는걸 목표로 하고 있습니다. {emo:onion-051.gif:50} tmi;; -
커커널패닉
→ 신사아님당 작성자
25.07.31 · 119.♡.59.225
옛날에 레딧쪽에서 글을 남겼었는데 여기에는 크로스포스팅을 안했었네요.
UnrealEditor 와 Xcode 간의 궁합이 안좋아서 Linux를 깔게 되었습니다.
https://www.reddit.com/r/linuxer/comments/1de4l43 -
신신사아님당
25.07.31 · 125.♡.243.26
ㅗㅜㅑ... 3D 그래픽으로 뭔가 만드시나봐요. {emo:damoang-emo-015.gif:50}
아이맥에 리눅스를 깔 수 밖에 없는 상황이라는게.. 있군요... 전문가의 영역에서는.... {emo:onion-008.gif:50} -
커커널패닉
→ 신사아님당 작성자
25.07.31 · 119.♡.59.225
사실 Windows 를 깔아도 되긴 하지만 CS8409 칩셋용 드라이버 설치가 좀 더 편해서 리눅스를 설치하게 되었습니다.
Windows 에서는 드라이버를 안전모드에서 제거한 후 (일반 부팅에서는 제거가 안되었습니다)
일반 부팅에서 드라이버를 다시 깔고 다시 재부팅했어야 했거든요.
하지만 현재는 DAC를 연결해서 듣고 있으니 Windows 를 사용해도 별 문제 없긴 합니다만, Windows 11은 이 아이맥과 궁합이 별로라 리눅스를 계속 사용할 예정입니다. (무엇보다 BOOTCAMP 드라이버를 다시 구하는 것도 일이네요)
댓글을 작성하려면 이 필요합니다.
레드스크린은 또 뭐죠? {emo:onion-077.gif:50}ㄷㄷㄷㄷㄷ