Результаты поиска: Valid MB-500 Test Pattern 🤕 MB-500 Valid Test Tutorial ➕ Latest MB-500 Braindumps 🤥 Immediately open ⮆ www.pdfvce.com ⮄ and search for ▛ MB-500 ▟ to obtain a free download 🧑New MB-500 Exam Cram

Классный скрипт для конвертации в utf8

Запарило пересохранять субтитры, которые часто выкладывают в вин-кодировке. Нашел клевый скрипт на питоне (а значит и под виндой можно юзать) для конвертации из любой кодировки (исходная автоопределяется) в UTF8. Навесил его как кастомную команду для *.srt в Double Commander, который также юзаю в обеих системах — стало совсем хорошо =)

 
 
  1. #!/usr/bin/env python3
  2. import os
  3. import sys
  4. from chardet import detect
  5. srcfile = sys.argv[1]
  6. tmpfile = sys.argv[1] + '.tmp'
  7. bakfile = sys.argv[1] + '.bak'
  8. # get file encoding type
  9. def get_encoding_type(file):
  10.     with open(file, 'rb') as f:
  11.         rawdata = f.read()
  12.     return detect(rawdata)['encoding']
  13. from_codec = get_encoding_type(srcfile)
  14. # add try: except block for reliability
  15. try:
  16.     with open(srcfile, 'r', encoding=from_codec) as f, open(tmpfile, 'w', encoding='utf-8') as e:
  17.         text = f.read() # for small files, for big use chunks
  18.         e.write(text)
  19.     os.rename(srcfile, bakfile) # backup old encoding file
  20.     os.rename(tmpfile, srcfile) # rename new encoding
  21.    
  22. except UnicodeDecodeError:
  23.     print('Decode Error')
  24. except UnicodeEncodeError:
  25.     print('Encode Error')

WordPress: как убрать &nbsp в конце постов.

Совершенно загадочная бага в классическом редакторе вордпресса, выраженная в автоматическом добавлении новой строки и неразрывного пробела в конец поста при каждом его сохранении, лечится следующими путями.

Для лечения уже существующих постов без изменения базы данных, добавляем в functions.php вашей темы следующий код

Загрузчик Загрузка...
Логотип EAD Слишком долго?

Перезагрузка Перезагрузить документ
| Открыть Открыть в новой вкладке

Download

Вторая часть — обработка поста при сохранении. Почти тот же кусок кода

Загрузчик Загрузка...
Логотип EAD Слишком долго?

Перезагрузка Перезагрузить документ
| Открыть Открыть в новой вкладке

Download

Обратите внимание, что смайлик тут используется как символ, заведомо неиспользуемый в постах — в процессе он будет заменен на неразрывный пробел. Это нужно учитывать, если такой символ может появиться в посте «легально».

Чтобы лишний раз не ковырять дефолтный functions.php, можно установить плагин Functionality. Он создаст дополнительный файл с таким же названием и установит его как плагин с именем блога (да, установив этот плагин вы автоматом получите второй — не забудьте активировать и его тоже).

SimpliVity VM Data Access Not Optimized

Долго не мог понять почему возникает сабжевая ошибка. В норме, при включенном vSphere DRS виртуальные машины должны автоматически перекидываться на хосты, на которых непосредственно лежат их файлы (если точнее, симпливити дублирует каждую виртуалку, так чтобы 2 хоста имели полный локальный доступ к ней). В моем же случае виртуалки балансировались классически — по загруженности хостов, то есть vmotion работал, но по какой-то причине игнорировал симпливитийную привязку к хранилищу.

Оказалось, причина была в установленной галке «For availability, distribute a more even number of virtual machines across hosts» в настройках vSphere DRS. Вероятно задача равномерного распределения оказалась приоритетнее и полностью отрубила балансировку по доступу к хранилищу. Вывод: если возникла подобная проблема — стоит начать с того чтобы выставить дефолтные настройки DRS

Также могу порекомендовать цикл постов о принципах работы Simplivity:

 

https://damianerangey.com/2018/07/20/how-virtual-machine-data-is-stored-and-managed-within-a-hpe-simplivity-cluster/

https://damianerangey.com/2018/08/29/how-virtual-machine-data-is-stored-and-managed-within-a-hpe-simplivity-cluster-part-2/

https://damianerangey.com/2019/06/21/how-virtual-machine-data-is-stored-and-managed-within-a-hpe-simplivity-cluster-part-3-provisioning-options/

https://damianerangey.com/2019/09/14/how-virtual-machine-data-is-stored-and-managed-within-a-hpe-simplivity-cluster-part-3/

https://damianerangey.com/2019/10/16/how-virtual-machine-data-is-stored-and-managed-within-a-hpe-simplivity-cluster-part-4/

https://damianerangey.com/2019/11/26/how-virtual-machine-data-is-stored-and-managed-within-a-hpe-simplivity-cluster-part-6-calculating-backup-capacity/

 

Протестировал кэшбэк-сервис.

Ща будет лютая «реклама», за которую мне не платят, но вдруг кто-то так подумает =))

В общем, примерно в начале июля я попался на рекламу так называемого кэшбэк-сервиса. Суть в чем: когда вы покупаете что-то в инете, то кэшбэк-сервис отслеживает факт покупки и записывает на ваш внутренний счет какой-то процент от суммы, и потом это бабло можно вывести хоть на карту, хоть куда. То есть мы имеем подобие дисконтной программы, только с реальной обналичкой и без привязки к конкретному магазину — что очень вкусно. «Как такое вообще может работать?» — подумал я и решил попробовать. И вот мой репортаж из самой глубины =)) Читать далее…

Как заставить chrome/chromium использовать kde (qt) диалоги сохранения файла

Долгое время не мог найти решение, связанное с использованием chromium совместно с openbox. При таком раскладе браузер по дефолту использует гномовский диалог сохранения файлов, который лично мне неудобен.

Диалоги сохранения файла: GNOME/GTK  — слева, KDE/QT — справа.

Оказалось, проблема кроется в том, что chromium ориентируется на переменную окружения XDG_CURRENT_DESKTOP, которая описывает текущее окружение рабочего стола и которая не задается по дефолту, если использовать openbox.

Соответственно, решение сводится к установке пакета kdialog (если у вас дебиан и пакет еще не установлен), и прописыванию правильной переменной окружения. Последнее можно сделать двумя путями:

  1. добавить в файл  ~/.config/openbox/environment строку:
     
     
    1. XDG_CURRENT_DESKTOP=KDE

    в этом случае все приложения, запущенные в сеансе пользователя, будут уверены что работают в KDE. Однако, если изменения хочется применить только к хрому, есть второй вариант

  2. отредактировать ярлык браузера, изменив путь приложения на:
     
     
    1. env XDG_CURRENT_DESKTOP=KDE /usr/bin/chromium %U

    (для хромиума)

    при использовании lxpanel это можно сделать через его свойства, или же создав (изменив) файл:

    ~/.local/share/applications/chromium.desktop
     
    1. [Desktop Entry]
    2. Version=1.0
    3. Name=Chromium Web Browser
    4. Name[ast]=Restolador web Chromium
    5. Name[ca]=Navegador web Chromium
    6. Name[de]=Chromium-Webbrowser
    7. Name[es]=Navegador web Chromium
    8. Name[fr]=Navigateur Web Chromium
    9. Name[gl]=Navegador web Chromium
    10. Name[he]=דפדפן האינטרנט Chromium
    11. Name[hr]=Chromium web preglednik
    12. Name[hu]=Chromium webböngésző
    13. Name[id]=Peramban Web Chromium
    14. Name[it]=Browser web Chromium
    15. Name[ja]=Chromium ウェブ・ブラウザ
    16. Name[ko]=Chromium 웹 브라우저
    17. Name[pt_BR]=Chromium Navegador da Internet
    18. Name[ru]=Веб-браузер Chromium
    19. Name[sl]=Chromium spletni brskalnik
    20. Name[sv]=Webbläsaren Chromium
    21. Name[ug]=Chromium توركۆرگۈ
    22. Name[zh_CN]=Chromium 网页浏览器
    23. Name[zh_HK]=Chromium 網頁瀏覽器
    24. Name[zh_TW]=Chromium 網頁瀏覽器
    25. GenericName=Web Browser
    26. GenericName[ar]=متصفح الشبكة
    27. GenericName[ast]=Restolador web
    28. GenericName[bg]=Уеб браузър
    29. GenericName[bn]=ওয়েব ব্রাউজার
    30. GenericName[ca]=Navegador web
    31. GenericName[cs]=WWW prohlížeč
    32. GenericName[da]=Browser
    33. GenericName[de]=Webbrowser
    34. GenericName[el]=Περιηγητής ιστού
    35. GenericName[en_GB]=Web Browser
    36. GenericName[es]=Navegador web
    37. GenericName[et]=Veebibrauser
    38. GenericName[fi]=WWW-selain
    39. GenericName[fil]=Web Browser
    40. GenericName[fr]=Navigateur Web
    41. GenericName[gl]=Navegador web
    42. GenericName[gu]=વેબ બ્રાઉઝર
    43. GenericName[he]=דפדפן אינטרנט
    44. GenericName[hi]=वेब ब्राउज़र
    45. GenericName[hr]=Web preglednik
    46. GenericName[hu]=Webböngésző
    47. GenericName[id]=Peramban Web
    48. GenericName[it]=Browser web
    49. GenericName[ja]=ウェブ・ブラウザ
    50. GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ
    51. GenericName[ko]=웹 브라우저
    52. GenericName[lt]=Žiniatinklio naršyklė
    53. GenericName[lv]=Tīmekļa pārlūks
    54. GenericName[ml]=വെബ് ബ്രൌസര്
    55. GenericName[mr]=वेब ब्राऊजर
    56. GenericName[nb]=Nettleser
    57. GenericName[nl]=Webbrowser
    58. GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର
    59. GenericName[pl]=Przeglądarka WWW
    60. GenericName[pt]=Navegador Web
    61. GenericName[pt_BR]=Navegador da Internet
    62. GenericName[ro]=Navigator de Internet
    63. GenericName[ru]=Веб-браузер
    64. GenericName[sk]=WWW prehliadač
    65. GenericName[sl]=Spletni brskalnik
    66. GenericName[sr]=Интернет прегледник
    67. GenericName[sv]=Webbläsare
    68. GenericName[ta]=இணைய உலாவி
    69. GenericName[te]=మహాతల అన్వేషి
    70. GenericName[th]=เว็บเบราว์เซอร์
    71. GenericName[tr]=Web Tarayıcı
    72. GenericName[ug]=توركۆرگۈ
    73. GenericName[uk]=Навігатор Тенет
    74. GenericName[vi]=Bộ duyệt Web
    75. GenericName[zh_CN]=网页浏览器
    76. GenericName[zh_HK]=網頁瀏覽器
    77. GenericName[zh_TW]=網頁瀏覽器
    78. Comment=Access the Internet
    79. Comment[ar]=الدخول إلى الإنترنت
    80. Comment[ast]=Accesu a Internet
    81. Comment[bg]=Достъп до интернет
    82. Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন
    83. Comment[ca]=Accediu a Internet
    84. Comment[cs]=Přístup k internetu
    85. Comment[da]=Få adgang til internettet
    86. Comment[de]=Internetzugriff
    87. Comment[el]=Πρόσβαση στο Διαδίκτυο
    88. Comment[en_GB]=Access the Internet
    89. Comment[es]=Acceda a Internet
    90. Comment[et]=Pääs Internetti
    91. Comment[fi]=Käytä internetiä
    92. Comment[fil]=I-access ang Internet
    93. Comment[fr]=Explorer le Web
    94. Comment[gl]=Acceda a Internet
    95. Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો
    96. Comment[he]=גישה לאינטרנט
    97. Comment[hi]=इंटरनेट तक पहुंच स्थापित करें
    98. Comment[hr]=Pristupite Internetu
    99. Comment[hu]=Az internet elérése
    100. Comment[id]=Akses Internet
    101. Comment[it]=Accesso a Internet
    102. Comment[ja]=インターネットにアクセス
    103. Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ
    104. Comment[ko]=인터넷에 연결합니다
    105. Comment[lt]=Interneto prieiga
    106. Comment[lv]=Piekļūt internetam
    107. Comment[ml]=ഇന്റര്നെറ്റ് ആക്സസ് ചെയ്യുക
    108. Comment[mr]=इंटरनेटमध्ये प्रवेश करा
    109. Comment[nb]=Gå til Internett
    110. Comment[nl]=Verbinding maken met internet
    111. Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ
    112. Comment[pl]=Skorzystaj z internetu
    113. Comment[pt]=Aceder à Internet
    114. Comment[pt_BR]=Acessar a internet
    115. Comment[ro]=Accesaţi Internetul
    116. Comment[ru]=Доступ в Интернет
    117. Comment[sk]=Prístup do siete Internet
    118. Comment[sl]=Dostop do interneta
    119. Comment[sr]=Приступите Интернету
    120. Comment[sv]=Surfa på Internet
    121. Comment[ta]=இணையத்தை அணுகுதல்
    122. Comment[te]=ఇంటర్నెట్ను ఆక్సెస్ చెయ్యండి
    123. Comment[th]=เข้าถึงอินเทอร์เน็ต
    124. Comment[tr]=İnternet'e erişin
    125. Comment[ug]=ئىنتېرنېتنى زىيارەت قىلىش
    126. Comment[uk]=Доступ до Інтернету
    127. Comment[vi]=Truy cập Internet
    128. Comment[zh_CN]=访问互联网
    129. Comment[zh_HK]=連線到網際網路
    130. Comment[zh_TW]=連線到網際網路
    131. Exec=env XDG_CURRENT_DESKTOP=KDE /usr/bin/chromium %U
    132. Terminal=false
    133. X-MultipleArgs=false
    134. Type=Application
    135. Icon=chromium
    136. Categories=Network;WebBrowser;
    137. MimeType=text/html;text/xml;application/xhtml_xml;application/x-mimearchive;x-scheme-handler/http;x-scheme-handler/https;
    138. StartupWMClass=chromium
    139. StartupNotify=true

Конвертация powershell в cmd (на самом деле нет)

Встала задача — запустить скрипт powershell из обычного *.cmd. Задача традиционно возникает вследствие отсутствия ассоциаций для файлов *.ps1, и не менее традиционно решается путем создания двух файлов — скрипта на повершелле, который делает то что нужно, и обычной цмдэшки, которая его стартует. Это жесть как неудобно. Однако нагуглилось еще одно решение — повершелльный скрипт можно закодировать в одну строку и подсунуть интерпретатору, что избавляет от необходимости создавать дополнительный файл. В результате со своей несложной по сути задачей я справился, и решил привести пример скрипта, который берет тело скрипта нужной нам функциональности и генерит cmd-файл готовый к запуску.

Внутри переменной $script — тело нужного скрипта,
переменная $out задает вид генерируемого cmd-файла,
в последней строке указываем путь и имя cmd-файла (да я ленивый быдлокодер, не вынес в переменную ))

powershell to cmd generator.ps1
 
  1. $script = {
  2. import-module activedirectory
  3. $domain = Get-ADDomain
  4. Write-Host "Последнее появление компьютера в домене"
  5. Write-Host "======================================="
  6. Write-Host "Поиск в домене: $($domain.Name).$($domain.ParentDomain)"
  7. while($true)
  8.       {
  9.       $CompName = Read-Host -Prompt \'Введите короткое имя компьютера\'
  10.       $CompName = $CompName -replace \'(^\s |\s $)\',\'\' -replace \'\s \',\' \'
  11.       Get-ADComputer -Identity $CompName -Properties * | ft Name,LastLogonDate
  12.       }
  13. }
  14. $command = $script.ToString()
  15. $bytes = [System.Text.Encoding]::Unicode.GetBytes( $command )
  16. $encodedCommand = [Convert]::ToBase64String( $bytes )
  17. $out ="@echo off
  18. powershell.exe -EncodedCommand $encodedCommand"
  19. $out | Out-File -Encoding ASCII -filepath c:\111.cmd

На выходе получаем:

111.cmd
 
  1. @echo off
  2. powershell.exe -EncodedCommand DQAKAA0ACgBpAG0AcABvAHIAdAAtAG0AbwBkAHUAbABlACAAYQBjAHQAaQB2AGUAZABpAHIAZQBjAHQAbwByAHkADQAKACQAZABvAG0AYQBpAG4AIAA9ACAARwBlAHQALQBBAEQARABvAG0AYQBpAG4ADQAKAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiAB8EPgRBBDsENQQ0BD0ENQQ1BCAAPwQ BE8EMgQ7BDUEPQQ4BDUEIAA6BD4EPAQ/BEwETgRCBDUEQAQwBCAAMgQgADQEPgQ8BDUEPQQ1BCIADQAKAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiAD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9ACIADQAKAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiAB8EPgQ4BEEEOgQgADIEIAA0BD4EPAQ1BD0ENQQ6ACAAJAAoACQAZABvAG0AYQBpAG4ALgBOAGEAbQBlACkALgAkACgAJABkAG8AbQBhAGkAbgAuAFAAYQByAGUAbgB0AEQAbwBtAGEAaQBuACkAIgANAAoADQAKAA0ACgB3AGgAaQBsAGUAKAAkAHQAcgB1AGUAKQANAAoACQB7AA0ACgAJACQAQwBvAG0AcABOAGEAbQBlACAAPQAgAFIAZQBhAGQALQBIAG8AcwB0ACAALQBQAHIAbwBtAHAAdAAgACcAEgQyBDUENAQ4BEIENQQgADoEPgRABD4EQgQ6BD4ENQQgADgEPARPBCAAOgQ BDwEPwRMBE4EQgQ1BEAEMAQnAA0ACgAJACQAQwBvAG0AcABOAGEAbQBlACAAPQAgACQAQwBvAG0AcABOAGEAbQBlACAALQByAGUAcABsAGEAYwBlACAAJwAoAF4AXABzACsAfABcAHMAKwAkACkAJwAsACcAJwAgAC0AcgBlAHAAbABhAGMAZQAgACcAXABzACsAJwAsACcAIAAnAA0ACgAJAEcAZQB0AC0AQQBEAEMAbwBtAHAAdQB0AGUAcgAgAC0ASQBkAGUAbgB0AGkAdAB5ACAAJABDAG8AbQBwAE4AYQBtAGUAIAAtAFAAcgBvAHAAZQByAHQAaQBlAHMAIAAqACAAfAAgAGYAdAAgAE4AYQBtAGUALABMAGEAcwB0AEwAbwBnAG8AbgBEAGEAdABlAA0ACgAJAH0ADQAKAA0ACgA=

Этот файлик можно уже смело давать неподготовленному юзеру, или пихать в политики.

Иногда сигара — это просто сигара. Или нет?

Вот уж в какой цитате я бы не засомневался никогда, так в этой. Казалось бы, проверенное временем изречение Фрейда, которое идеально соотносится с его родом деятельности и стереотипами о его профессиональном увлечении членами )

А ХУЙ ТАМ БЫЛ! Кгхм… да…

Гарсон О’Тул (Garson O’Toole) — доктор йельского университета, занимающийся исследованием цитат и содержащий проект https://quoteinvestigator.com, исследовал данный вопрос. В своей статье  (копия), он пишет, что наиболее ранним упоминанием этой цитаты, какое он нашел, была статья  «The Place of Action in Personality Change» в журнале «Psychiatry» за 1950-й год. Автор Allen Wheelis пишет:

This is still an occupational hazard of psychoanalysis—thirty years after Freud’s famous remark that “a cigar is sometimes just a cigar.”

Основываясь на этой цитате, О’Тул предполагает, что исходное высказывание должно было быть сделано Фрейдом в районе 1920-го года, чему, однако, не нашлось никаких свидетельств, что странно, учитывая известность цитаты в 1950м.  О’Тул приводит цитату из статьи «Apocryphal Freud: Sigmund Freud’s Most Famous ‘Quotations’ and Their Actual Sources» за 2001-й год (автор Alan C. Elms), в которой автор также пишет, что провел свое расследование относительно истинности этой цитаты, и в том числе спрашивал коллегу из германии относительно немецких источников, но пришел к выводу, что с большой вероятностью Фрейд никогда ничего подобного не говорил.

Далее О’Тул приводит ряд любопытных цитат, одна из которых датирована 1922-м годом и присутствовала в журнале «The International Journal of Psycho-Analysis» под руководством Фрейда. Автор статьи Eric Hiller пишет:

Cigarettes and cigars can symbolise the penis. They are cylindrical and tubular. They have a hot, red end. They emit smoke that is fragant ( = flatus = semen). …

I refer to the reason, or at least one of the reasons, why people start smoking (and, of course, why they go on), that is the phallic significance of the cigarette, cigar and pipe. It is thus a substitute for the penis (mother’s breast) of which they have been deprived (castrated, weaned).

Дальнейшие цитаты датированы более поздним временем, чем 1950-й, и содержат упоминания «известной цитаты» Фрейда, что какбэ намекает…

Так что скорее всего «сигара — всегда сигара» и никакого опровержения Фрейд тому не давал =) Это еще раз заставляет задуматься о цитатах великих людей, которыми кишит даже не только Интернет, но и многочисленные печатные издания.

Debian Installer: Detect network hardware, missing firmware BNX2

При установке дебиана на сервера подобные IBM x3650 можно столкнуться с ошибкой определения сетевых драйверов: «Some of your hardware needs non-free firmware files to operate», что означает необходимость подсунуть инсталлятору несвободные драйвера, указанные ниже.

В данном случае это «bnx2/bnx2-mips-09-6.2.1b.fw», но может быть и другой в зависимости от железа. Необходимые драйвера можно скачать вот тут: https://github.com/cernekee/linux-firmware/tree/master/bnx2. Их нужно положить на съемный носитель как предписывает инсталлятор (то есть, в данном случае, в папку bnx2 в корне флешки) и нажать YES. Вполне возможно, что операцию придется провести несколько раз, если в сервере несколько сетевых карт, требующих разных драйверов — в таком случае можно скачать их все сразу, или подсовывать по мере необходимости. Отмонтировать или монтировать флешку не нужно — можно смело втыкать и вытыкать из порта сколько понадобится.

Из моих наблюдений: драйвера не подцеплялись со съемного диска Zalman VE200, эмулирующего CD-привод с ISO-образом инсталлятора. Может особенность конкретного устройства, но скорее потому что сам диск был отформатирован в NTFS, так что флешку под дрова лучше сразу форматнуть в FAT32.

Лучший перевод эвар

Давно (хотя и вялотекуще) искал лучший перевод игры, который я только когда-либо видел. Была такая игра от Microsoft — Freelancer, ее первый вариант, появившийся на пиратском рынке, был уникальным образчиком «промтового» перевода (издавала ее Triada, а вот перевод, по слухам, делал Дядюшка Рисёрч). Уникальным в том смысле, что более КРИВОГО перевода я в жизни не видел =) Вот, зацените примеры:

 

В общем искал я игру искал, и нашел у доброго человека c www.elite-games.ru — Dark Angel, спасибо тебе =)

Так как игра совершенно раритетна, не мог не оформить раздачу на бухте — вдруг кто-то будет искать =))

Freelancer (PC)  триада — упоротый промтовый перевод скачать magnet

Феил дня

Вчера полдня проебался с 9600GT под линухом. Стоят свободные дрова — все работает, но, разумеется, не пашет OpenGL. Ставлю нвидиевские — графика вообще не стартует, иксы падают и говорят (EE) no screens found(EE). Ну, вернее мне эта строчка запомнилась и я гуглил проблему вокруг этой строчки. Гуглил долго и упорно, игрался с разными версия дров и снова гуглил. И сегодня с утра мне пришла в голову гениальная мысль — сохранить лог и вдумчиво его почитать. Оказалось, что искомая мной строка была немножко ниже того, что какбэ…

[    43.085] (II) NVIDIA(GPU-0): Found DRM driver nvidia-drm (20130102)
[    43.086] (EE) NVIDIA(GPU-0): The NVIDIA GPU at PCI:1:0:0 does not have the necessary
[    43.086] (EE) NVIDIA(GPU-0):     external power cables attached; X cannot use this GPU
[    43.086] (EE) NVIDIA(GPU-0):     until the problem is rectified.  Please shut down your
[    43.086] (EE) NVIDIA(GPU-0):     computer, open its case, and attach all of the appropriate
[    43.086] (EE) NVIDIA(GPU-0):     power connectors.  Please see the documentation provided
[    43.086] (EE) NVIDIA(GPU-0):     with your NVIDIA GPU for more details.
[    43.382] (EE) NVIDIA(0): Failing initialization of X screen 0
[    43.382] (II) UnloadModule: «nvidia»
[    43.382] (II) UnloadSubModule: «wfb»
[    43.382] (II) UnloadSubModule: «fb»
[    43.382] (EE) Screen(s) found, but none have a usable configuration.

[    43.382] (EE) Fatal server error:
[    43.382] (EE) no screens found(EE)

*facepalm*