Swordfish90 / cool-retro-term

A good looking terminal emulator which mimics the old cathode display...
22.34k stars 851 forks source link

No longer works in MacOS High Sierra #366

Closed Raptor399 closed 7 years ago

Raptor399 commented 7 years ago

After the update to MacOS High Sierra, the shell of cool-retro-term never starts up. The visual effects of the terminal (flicker, scanline, etc) are there, but the cursor remains in the top left of the screen:

image

As a result, cool-retro-term no longer works.

miho commented 7 years ago

Noticed the same.

Shunajlov commented 7 years ago

+1. Please, fix it, i love this styled terminal

bnaught0n commented 7 years ago

Here's what I get when I start from cli:

System:MacOS user$ ./cool-retro-term Using an unsupported variable-width font in the terminal. This may produce display errors. Can't open a pseudo teletype default KB_LAYOUT_DIR: "/Applications/cool-retro-term.app/Contents/MacOS/../PlugIns/QMLTermWidget/kb-layouts" QObject::connect: No such slot Konsole::TerminalDisplay_QML_61::close() loadAllColorSchemes Session::run() - program: "/bin/bash" Session::run() - arguments: ("-i", "-l") Unable to set terminal attributes. started! Using an unsupported variable-width font in the terminal. This may produce display errors. System:~ user$ Saving session... ...copying shared history... ...saving history...truncating history files... ...completed.

wyne commented 7 years ago

In addition to the above, any input results in this log:

QIODevice::write (KPtyDevice): device not open
QIODevice::write (KPtyDevice): device not open
donatj commented 7 years ago

I am also seeing the following in Console. Not sure if this helps

default 23:48:35.379386 -0500   cool-retro-term LSExceptions shared instance invalidated for timeout.
default 23:49:16.420655 -0500   cool-retro-term OSErr AERemoveEventHandler(AEEventClass, AEEventID, AEEventHandlerUPP, Boolean)(aevt,quit handler=0x7fff3e9b09fc isSys=NO) err=0/noErr
default 23:49:16.420686 -0500   cool-retro-term OSErr AERemoveEventHandler(AEEventClass, AEEventID, AEEventHandlerUPP, Boolean)(GURL,GURL handler=0x7fff3e9b09fc isSys=NO) err=0/noErr
georgestagg commented 7 years ago

I got this mostly working, at least for me. Begin by following the normal macOS instructions, reproduced here:

brew install qt5
git clone --recursive https://github.com/Swordfish90/cool-retro-term.git
export CPPFLAGS="-I/usr/local/opt/qt5/include"
export LDFLAGS="-L/usr/local/opt/qt5/lib"
export PATH=/usr/local/opt/qt5/bin:$PATH
cd cool-retro-term

At this point, edit the file qmltermwidget/qmltermwidget.pro and change line 11 to read: macx:DEFINES += HAVE_UTMPX _UTMPX_COMPAT HAVE_PTSNAME HAVE_UNLOCKPT HAVE_GRANTPT

Then continue with the rest:

qmake && make
mkdir cool-retro-term.app/Contents/PlugIns
cp -r qmltermwidget/QMLTermWidget cool-retro-term.app/Contents/PlugIns
open cool-retro-term.app

Unfortunately, when building from source I see Illegal Instruction: 4 on closing the app, but that was happening even before changing qmltermwidget.pro. Perhaps I'll try compiling with an older version of Xcode selected to see if that helps.

Raptor399 commented 7 years ago

Fix confirmed, pull request created.

Swordfish90 commented 7 years ago

Hi guys. Thank you for the quick fix. Sadly I'm out of apple machines at the moment, can you confirm this is working and not introducing regressions (such as on older versions of the OS)?

giann commented 7 years ago

@Swordfish90 I can confirm it works on High Sierra. I'll try tonight on Sierra.

Shunajlov commented 7 years ago

@giann Can you please share an .app file built for High Sierra?

georgestagg commented 7 years ago

Glad the change works for others. I wasn't sure how older versions of macOS handle it and don't have an old machine to test, so didn't pull request.

However, a quick web search brings up this file which suggests in a comment that the posix_openpt functions are available from OSX >= 10.4, so hopefully it just works!

Raptor399 commented 7 years ago

It took me half a day to revive an old Macbook Pro with OSX Yosemite (10.10.4) and get the correct version of Xcode, Qt and everything on there...

The result is that I can confirm cool-retro-term with the fix still works on ancient Macs running unsupported operating systems! ;-)

Swordfish90 commented 7 years ago

Ok guys. I just closed this and forced a friend to build a dmg file. Version 1.0.1 should be working. Thank you @extigy and @Raptor399 on this one.

despair86 commented 5 years ago

Interesting. This also fixed Solaris 2.11 (i.e. SunOS:DEFINES += HAVE_UTMPX _UTMPX_COMPAT HAVE_PTSNAME HAVE_UNLOCKPT HAVE_GRANTPT in the qt project file)